home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / THD_12_5.ZIP / THDDOC.TXT < prev    next >
Text File  |  1996-03-20  |  156KB  |  3,066 lines

  1.                                                                   Page i
  2.                           THD ProScan Version 12.0
  3.                                 Documentation
  4.  
  5. Index
  6.  
  7. Topic - Subtopic................................................. Page No.
  8.  
  9. Copyright ....................................................... 01
  10. Introduction .................................................... 02
  11.     - The Product ...............................................      02
  12.     - Overview ..................................................      02
  13.     - Registration / Donations .................................. 03
  14.     - History ...................................................      03
  15. The Author ...................................................... 05
  16.     - History ...................................................      05
  17.     - How to contact me .........................................      05
  18. Product Support ................................................. 06
  19.     - Commentary (THD vs other Archive Processors) ..............      06
  20.     - Thanks to... (Credits) .................................... 08
  21.  
  22. THDINSTL.EXE .................................................... 09
  23.     - Command line syntax .......................................      09
  24.          - ? ....................................................      09
  25.          - /F (Full installation)................................      09
  26.          - {Path to old THDPRO.EXE} .............................      09
  27.          - /NET (network compatible mode) .......................      09
  28.     - Function ..................................................      09
  29.     - conditions for running successfully ....................... 10
  30.     - selection screens .........................................      10
  31.     - final screens ............................................. 16
  32.          - final screen one .....................................      16
  33.          - final screen two .....................................      16
  34.          - final screen three ...................................      16
  35.  
  36. THDPRO.EXE ...................................................... 18
  37.     - command line syntax .......................................      18
  38.          - ? ....................................................      18
  39.          - CRC (CRC Mode)........................................      18
  40.          - /ADD (ADD description to FDB).........................      18
  41.          - /CO (Convert Only)....................................      18
  42.          - /KO (Keep Original)...................................      18
  43.          - /LA (Log All).........................................      18
  44.          - /NODESC (NO DESCription).............................. 19
  45.          - /OV (OVerride)........................................      19
  46.          - /RO (Read Only).......................................      19
  47.          - {COMPORT} ............................................      19
  48.          - /60 /120 /250 /450 /750 /1500 ........................      19
  49.          - {CONVERT INDICATORS} .................................      19
  50.     - Requirements ..............................................      19
  51.     - Function .................................................. 20
  52.     - Features .................................................. 21
  53.     - Basic operation ........................................... 27
  54.     - CRC mode ..................................................      27
  55.  
  56.                                                                   Page ii
  57.     - Conversion and Convert-Only mode .......................... 28
  58.          - Deep File removal during conversion .................. 31
  59.          - Converting non-archives...............................      31
  60.     - Test mode ................................................. 33
  61.     - Frequently asked Questions................................. 34
  62.  
  63. THDPLUS.EXE ..................................................... 37
  64.     - command line syntax .......................................      37
  65.          - ? ....................................................      37
  66.          - /ALL (process ALL)....................................      37
  67.          - /REMOVE (mark to REMOVE)..............................      37
  68.     - Requirements ..............................................      37
  69.          - Operation ............................................      37
  70.  
  71. TESTINFO.DAT .................................................... 39
  72.     - What is it? ...............................................      39
  73.     - Why is it? ................................................      39
  74.     - How does THDPRO use it? ...................................      39
  75.     - How can others use it? ....................................      39
  76.  
  77. THDTERM.EXE ..................................................... 40
  78.     - General Information .......................................      40
  79.     - command line syntax .......................................      40
  80.          - {Comport} ............................................      40
  81.          - /S (Source directory) ................................ 41
  82.          - /C (Configure) .......................................      41
  83.     - Requirements ..............................................      41
  84.     - Function ..................................................      41
  85.     - Features ..................................................      41
  86.     - Basic Operation ........................................... 42
  87.     - THDTERM and Filedoor ......................................      42
  88.  
  89. THDDEMO.COM ..................................................... 42
  90.     - Purpose ...................................................      42
  91.     - ANSI Files ................................................ 43
  92.          - THDPRO.AN? files .....................................      43
  93.          - PAINSOFT.AN? files ................................... 44
  94.          - PAINSOFT.ANS ......................................... 46
  95.  
  96. COMMENTS ........................................................ 47
  97.     - THD ProScan's custom / configurable comment control .......      47
  98.     - Randomly selected comments ................................      47
  99.          - Comment by area ......................................      47
  100.     - Keyword replacement / customization ....................... 49
  101.          - keywords .............................................      49
  102. ENVIRONMENT VARIABLES ........................................... 53
  103.     - THDZIP ....................................................      53
  104.     - THDARJ ....................................................      53
  105.     - THDOPT .................................................... 54
  106. SECURE MODE ..................................................... 55
  107.     - THDPRO.EXE /SEC ........................................... 56
  108.     - THDPRO.EXE /SECTEST .......................................      56
  109. NETWORK NOTES ................................................... 57
  110.  
  111.                                                                   Page iii
  112.  
  113.                                   - PREFACE -
  114.  
  115.      THD ProScan is a collective effort by myself and a number of others.
  116. While most of the time you associate only myself with the various releases,
  117. I feel that I need to take a moment to acknowledge that were it not for the
  118. great users and fantastic beta testers, this product might have long since
  119. been history.
  120.      Since the inception of THDscan (about 5 years ago) there have been
  121. many people who have helped to find problems and offered assistance in many
  122. other ways. This version of THD ProScan is dedicated to all of those people.
  123. Without regard for how great or how small their contribution, these are the
  124. people who have made it possible for you to receive this version.
  125.      Please take a moment to read the credit section of this documentation.
  126. Although only a few are specifically listed in that area, it is worth noting
  127. that there are in fact many other contributors. Some who have made donations
  128. or incurred costs, or perhaps even simply made a comment or suggestion are
  129. still deserving of a mention.
  130.     Among those rarely ever mentioned, I would like to thank the makers of
  131. the products that THD was designed to replace. While I would never recommend
  132. some of the products that fall into that category, I can't help but remember
  133. that had it not been for those inferior products, THD might never even have
  134. made the drawing board.
  135.      The early creators of file processors missed a great many details now
  136. considered standard, however without their original ideas, this product and
  137. many others may not ever have come into existence.
  138.      And to my competitors, without whom this product might be only a shadow
  139. of what it is today. Some have been friendly and others have been downright
  140. destructive, but all have helped in the creation of various versions.
  141.      While no implementation in THD has ever been taken directly from another
  142. product, many of the "toys" are based on suggestions from users who had seen
  143. similar options in other products. As I'm sure on occasion users of other
  144. products have made suggestions based on things they have seen in THD.
  145.  
  146.      I could never hope to mention everyone who has made a relevant
  147. suggestion for the improvement of THD. Nor could I hope to recall all the
  148. people who have made a significant difference in it's development. What I
  149. can do is to thank them all here for their contributions, whether
  150. intentionally or by circumstance.
  151.  
  152.      So, to all the testers, users, non-users, nay-sayers, praisers, critics
  153. and competitors...
  154. Thanks for your contributions, no matter how great or how small...
  155.  
  156.        This one is dedicated to you.
  157.  
  158.  
  159.                                                                   Page 01
  160.                                  -------------
  161.                                  - COPYRIGHT -
  162.                                  -------------
  163.  
  164.          The following  copyright covers  THD ProScan and  all of it's
  165.          parts,  including  (but  not limited to),  THDPRO,  THDINSTL,
  166.          THDPLUS, THDTERM, THDDOC and THDDEMO. The TESTINFO.DAT format
  167.          is covered by a separate copyright.  Please see  TESTINFO.INC
  168.          for details.
  169.  
  170.          These programs  and  all  of their  associated names,  files,
  171.          logos  and  makeup  are  Copyright  1992 - 1996 by  PainSoft.
  172.          Absolutely  no  duplication  in whole or in  part is allowed.
  173.          With the exception of  duplication of the entire archived set
  174.          of files  for distribution to those in need of it's services.
  175.          None of the  copyrighted material  may be changed in any way,
  176.          except by the author.  Changes made by the author's original,
  177.          unmodified  installation  program will be  considered to have
  178.          been made by  the author for the purpose  of this  copyright.
  179.          The files may be  rearchived in  ANY  fashion which  requires
  180.          them to be  restored to their original condition before  use.
  181.          (Portions are Copyright  Borland  International).  The Author
  182.          accepts  no responsibility  for the  actions of this program.
  183.          It is  FREEWARE  and NO  charge may be made for distribution.
  184.          It is  NOT  a commercial  product  and  the  ONLY  acceptable
  185.          charge for it will be "actual, physical cost of duplication".
  186.  
  187.          Other products mentioned are  copyrighted by their respective
  188.          owners and  include their  own  restrictions  for use. Please
  189.          be  sure to  register  those  products  if  requested  by the
  190.          copyright holders.
  191.  
  192.  
  193.                                                                   Page 02
  194.                               ----------------
  195.                               - INTRODUCTION -
  196.                               ----------------
  197.  
  198. - The Product -
  199. ---------------
  200.  
  201. - Overview -
  202.  
  203.      THD ProScan is a File Processor. It was conceived as a security
  204. conscious method for testing the integrity of archived files and has
  205. evolved from a 50 line batch file to what you see now.
  206.  
  207.      The general purpose of a file processor is to perform a series of
  208. tests on a given file (usually an archive) and report the passing or failing
  209. of the various tests. The types and number of tests done will vary with the
  210. program being used, but the one test viewed as the most important is the
  211. Virus Scan. Others tests are (or are not) performed depending on the
  212. software being used. Normally things like CRC testing and commenting of
  213. archives are standard procedure.
  214.      These products are known by many names, almost all of which are a
  215. contraction of one of FILE, ARCHIVE, or UPLOAD and TESTER, PROCESSOR or
  216. CHECKER. Whatever they call themselves, their usual goal is to offer some
  217. assurance that the files have been reasonably tested for integrity.
  218.  
  219.      The difference between this and many other upload testers is one of
  220. priorities. Most upload/file testers regard the testing of the file as the
  221. single most important factor. THD ProScan, on the other hand, has a
  222. different view.
  223.      THD ProScan is designed with security as the single most important
  224. factor in a file tester. It is with this in mind that THD ProScan has been
  225. programmed from day one. This is also the reason why some things that you
  226. might "like" to see are not present. You cannot change a number of things
  227. which others allow. The reason being that the options used in this tester
  228. are the ones most likely to stop people from gaining access to your
  229. computer. Simple things like not allowing user definable commands to be run
  230. and insisting that full paths be supplied, help to ensure that the sysop
  231. without a full working knowledge can get as much benefit from this tester as
  232. the seasoned pro.
  233.      By the same token, THD ProScan also attempts to compete and defeat the
  234. so called "competitors". It attempts to do as many things as could be
  235. realistically asked of an upload tester, while maintaining the security that
  236. prompted its creation as well as being generic enough to be used by as many
  237. BBS programs as possible.
  238.      I think you will find that the number and types of options available in
  239. this tester rival or exceed those available with a number of other testers.
  240.  
  241.                       If you need an upload tester...
  242.                       -------------------------------
  243.                       ---- YOU NEED THD PROSCAN -----
  244.                       -------------------------------
  245.  
  246.                                                                   Page 03
  247. - Registration / Donations -
  248. ----------------------------
  249.  
  250.      While THD ProScan is a FREEWARE product, the author (that's me) does
  251. gladly accept donations. There is no "set" amount or for that matter it
  252. doesn't even have to be cash.
  253.      Please read REGISTER.TXT. The address is found in the author section of
  254. this documentation and/or the first screen of THDINSTL.EXE.
  255.  
  256. - History -
  257. -----------
  258.  
  259.      Long, long, ago and far, far, away.. I used to call about 40 BBS'es a
  260. day. I became concerned one day when I uploaded a file and it failed
  261. something called an "upload test".
  262.      I quickly downloaded the program which failed my file and was amazed at
  263. what it was attempting to do. (cool I thought). However upon looking closely
  264. into what it was doing and how it was being done, I became VERY concerned.
  265. This program could give a user COMPLETE control of the sysop's computer if
  266. they created just the right archive.
  267.      Being the conscientious little co-sysop that I was, I went searching
  268. for a similar program without the flaws present in this one. Believe it or
  269. not, I couldn't find one. I decided instead that I would create a
  270. "secure" batch file for this sysop to process his uploads. I made one that
  271. worked on my system, then I made it configurable (so that the sysop could
  272. customize it for his system).
  273.      And such was born a 4DOS dependant batch file called THDScan. (are you
  274. still with me?). Others of course called and saw the "neat" screen output
  275. and inquired as to where they could get a copy and so on.. Many were amazed
  276. at what could be accomplished through batch processing and began to use it.
  277. As is normal, problems began to arise and improvements were requested. And
  278. so development of THDScan continued.
  279.      This development saw many changes and additions to THDScan through the
  280. time it was being improved. But alas, as is always the case, some
  281. spoilsports refused to use it because it was a batch file (not to mention it
  282. needed 4DOS or NDOS to properly run). And so development of an executable
  283. version of THDScan began.
  284.      No-one was willing to "program" it my way, so I started to learn Turbo
  285. Pascal in the hope of creating it myself.
  286.      And after much hair pulling, on August 20, 1992, the world was
  287. introduced to THD ProScan Version 1.0. (more like about 45 local systems).
  288. Things continued on with bug reports and so on (what can I say, I never
  289. programmed anything before). And so began the upgrading of THD ProScan.
  290.      Somewhere around version 6.0, I was surprised to receive a netmail from
  291. Ireland making inquiries about my program (whoa.. all the way from Ireland).
  292. I asked this person for explanations, what I could do etc. and he was most
  293. helpful in showing me what he wanted added/changed to support his particular
  294. use.
  295.  
  296.                                                                   Page 04
  297.  
  298.      Soon thereafter netmail started coming from everywhere (okay .. almost
  299. everywhere). THD had somehow become a popular program. From that point onward
  300. THD has been treated by me as a major endeavour.
  301.      The Version 12 being released today, is the result of many such
  302. communications and many, many, many, many (did I say many?) hours of work,
  303. none of which I have ever regretted.
  304.      For those of you who are dying to know, THD actually stands for
  305. "The Head Doctor" (the alias of the sysop for whom the original pre-version
  306. 1.0 THDScan Batch file was created). I have long since lost contact with
  307. him, and many of the people whom I knew at that time. But I suppose I ought
  308. to thank him for lending me his monogram.
  309.      So there it is.. everything you never wanted to know about THD ProScan.
  310.  
  311.  
  312.                                                                   Page 05
  313.                                --------------
  314.                                - THE AUTHOR -
  315.                                --------------
  316.  
  317. - History -
  318. -----------
  319.  
  320.      Who am I?
  321.  
  322.      Hi. I'm David Muir, born in the winter of 1962. I was introduced to
  323. computers about 9 years ago by a friend. BBSing at that time was something
  324. that I hadn't even considered.
  325.      Not too long after that I got my first IBM compatible computer. I
  326. played games, made notes, and used it to keep my company records. It was a
  327. tool. After scooping some neat toys from a friend, I began to inquire how he
  328. came about getting them, he explained about modems and BBS'es. I soon after
  329. purchased a neat 2400 bps modem and got a few numbers off of him.
  330.      In no time flat I was a BBS junkie. Calling up to 40 BBSes at a time
  331. and trying my best to help people out. I eventually got to co-sysop on about
  332. 15 of those boards and was quite in demand as a co-sysop (due mainly to my
  333. security conscious approach). But time took it's toll, and eventually I had
  334. to lessen my outgoing calls. Somewhere in there THDScan was born and later
  335. THD ProScan.
  336.      So now I'm a 33 year old computer junky, who loves nothing more than to
  337. get netmail from places I've never been and help people with problems I
  338. don't have.
  339.      THD ProScan is my way of helping. And a pretty good reason to talk to
  340. people from distant places. Generally I'm a pretty boring kinda guy who's
  341. more than willing to lend a hand when I can.
  342.  
  343. - How to contact me -
  344. ---------------------
  345.  
  346.      I can be reached via Netmail at Tim Strike's BBS
  347.  
  348. The Forbidden Knights
  349. 1:259/423.0 (fidonet)
  350. (905) 820-7273
  351. Mississauga, Ontario
  352. User name- David Muir
  353. Alias - Pain
  354.  
  355.      Home is...
  356.  
  357. David Muir
  358. 198 Leyton Ave
  359. Scarborough, Ontario
  360. Canada, M1L 3V6
  361.  
  362.      I'm also available in numerous other nets (look for Tim's BBS) as well
  363. as following many of the public echos which relate to BBS support. For
  364. support you "should" consider picking up the THDPRO Support echo from the
  365. Fidonet Backbone.
  366.  
  367.                                                                   Page 06
  368.  
  369.                              -------------------
  370.                              - PRODUCT SUPPORT -
  371.                              -------------------
  372.  
  373.      Product support is available directly from the author according to the
  374. information above. However, you might find that many people in the public
  375. echo areas are willing to help as well.
  376.      Most of the sysops listed as distribution sites will be happy to try to
  377. assist you and if unable to do so, will generally forward questions and
  378. comments to me.
  379.      Questions regarding interaction with your particular BBS type are
  380. generally best answered by those who use the same BBS software as yourself.
  381. If however you're stuck and no-one seems to know the answers, please give me
  382. a shout, either by mail or via netmail (or possibly in the public echos if
  383. you happen to spot me).
  384.  
  385.     At the time of this Distribution, THDPRO Support is available on the
  386. Fidonet backbone. Support is available there from myself as well as a number
  387. of users and beta testers. (Zone one only "at this time")
  388.  
  389. - Commentary (THD vs other Archive Processors) -
  390. ------------------------------------------------
  391.  
  392.      In the last few years, it seems that the Archive Processing field has
  393. become VERY competitive. I have done my best to uphold my friendly
  394. disposition in the face of numerous attacks, both on myself personally as
  395. well as on my product.
  396.      So people who don't want to know how I REALLY feel should not read
  397. this.
  398.  
  399.      Still with me? Okay...
  400.  
  401.      THD ProScan is NOT a hobby. It's not something I do to rip the nice
  402. sysops off for their money. It's not a pastime that I use to fill my empty
  403. hours. It IS an obsession. THD is what I do. To attack it, is to attack me.
  404. I do engage in employment as well, but that is something which I am paid to
  405. do and do not do because I "desire" to do it.
  406.      In the two years, I have been called everything from a complete fraud
  407. to a liar. I am neither. THD has been called ineffective, inefficient and
  408. unreliable. It is none of those things.
  409.      What THD is, is quite simply my way of saying thank to the many sysops
  410. out there who need something and may not know what. THD is built with
  411. security in mind. To date NOT even ONE other archive processor has been able
  412. to match THD in its efficiency and security. Now to be fair, there are some
  413. that I have not tested.
  414.  
  415.                                                                   Page 07
  416.  
  417.      I do not begrudge the other authors who believe that their product is as
  418. good or as secure as my own (or those who believe that theirs is superior to
  419. mine). But I can tell you, in all honesty, that with the singular exception
  420. of THD ProScan there does not exist an upload tester (of which I am aware)
  421. through which I cannot pass a KNOWN virus in a legitimately testable archived
  422. file. This refers to a virus that will be recognized by McAfee's VirusScan if
  423. all archives are expanded and all resulting files are tested. This does not
  424. refer to any underhanded encryption technique or creation of the virus after
  425. being tested. But an honest to goodness real virus in a file type which those
  426. other do test.
  427.      Some of those other products can even be manipulated by an uploaded
  428. archive to allow the remote user "FULL" access to the host system.
  429.      If it's any consolation, the last statement refers to fewer and fewer
  430. products as time goes by. Most regularly updated processors do guard against
  431. this particular instances.. BUT NOT all of them, so watch for these.
  432.      I specifically will not mention any of the people who have attacked
  433. myself or my tester. But I will be honest, in saying that if I ever actually
  434. tell you not to use a specific product (something I would rarely ever do), I
  435. do have my reasons and they are never related to anything as petty as
  436. revenge.
  437.      I stand behind my product. I believe what I tell you about it, and most
  438. of all I make it for you.. not me. (I have no use for about 90% of what is
  439. coded in there, 10% is coded for me the other 90% is coded for the people
  440. who use it). Remember that I am not a sysop and most of the features in THD
  441. are BBS related.
  442.      As a final note. Many of my competitors in the Archive processing field
  443. are not described above. Many are very friendly and professional people who
  444. have never said anything to belittle myself or my product (or anyone else's
  445. product). Many of them are good intentioned hard working people, bringing
  446. you what they believe is an excellent product. Please if you use one of
  447. these other products and the author requests registration... be sure to
  448. register the product. The amount of work that goes into these things is not
  449. petty and those who request registration have worked long and hard to
  450. produce that product for you. Be sure to remember that when you see them
  451. asking for registration.
  452.      Above all. Remember that I truly do believe that THD is a superior
  453. product. (and I have tested enough of them to make a reasonable judgement)
  454.      If you feel that another product is better (or better suits your needs)
  455. then use it with my blessing. The final consideration must be what you
  456. believe you need and not what myself or another author thinks.
  457.      Thanks for reading my babblings...
  458.  
  459.      David Muir... Author THD ProScan.
  460.  
  461.  
  462.                                                                   Page 08
  463.  
  464. - Thanks to... (Credits) -
  465. --------------------------
  466.  
  467.      The list of people who have aided in the Development of THD ProScan is
  468. far too long for me to list here (and to be totally honest, I don't think I
  469. could name them all).
  470.      The following is a list of people who's input has been extraordinary is
  471. not necessarily all inclusive. I have tried to give credit where credit is
  472. due. I have many people to thank that are not listed specifically in this
  473. text.
  474.  
  475.      Thanks to all the sysops who, at various stages, helped in the
  476. betatesting of this product. Many helped me to find "minor" inconsistencies
  477. and fix them before you got to see it.
  478.      A VERY special thanks to Eugene Chin for his great assistance in
  479. betatesting the first releases and making valuable suggestions about the
  480. program.. Many of which were implemented, And of course some which were
  481. not.. But all of his suggestions and comments were considered.
  482.      A special thanks as well to "Eternal Darkness" for his contribution of
  483. the "user side ansi screen". He willingly gave me a number of "ansi" drawings
  484. with permission to modify them as was necessary to suit my purpose. The ansi
  485. your users see is only very slightly modified from the ansi I received and I
  486. think he did an excellent job.
  487.      A thanks as well to David Luckie who reported the problem which Version
  488. 4 fixed. Without his inquiries the integrity of this program might have been
  489. severely compromised.
  490.      And to Tim Strike for his assistance in too many aspects to list in this
  491. document, including relaying David's concerns and replies so that I might be
  492. able to fix the problem.
  493.      To Neil Dempster for his support and constant questioning (not to
  494. mention the extra drives).
  495.      To Mark Kerr for his inquiries into the "move/rename" aspect of the
  496. program. As well as making me aware of the number of RA supporters.
  497.      A VERY Special Thanks to Rudy Ramsey for rushing me the registration
  498. key for VENDEDIT so that THD ProScan could be distributed with a valid
  499. VENDINFO.DIZ. Persons with inquiries regarding the VENDINFO standard should
  500. contact Rudy Ramsey as noted in the VENDINFO.DIZ included with this package.
  501.      To TurboPower Software for the use of their EXECSWAP program.
  502.  
  503.      And again to Mark Kerr, Tim Strike and Don Johnson for their absolutely
  504. selfless assistance with the distribution of THD ProScan, it's betas and for
  505. doing me far too many favours to ask of any reasonable person.
  506.  
  507. To all Beta sites, past and present. And to anyone who ever reported an
  508. error so that I could endeavor to fix it or made a suggestion to improve it.
  509.  
  510.                                                                   Page 09
  511.  
  512.                               ----------------
  513.                               - THDINSTL.EXE -
  514.                               ----------------
  515.  
  516.      THDINSTL.EXE is the installation/configuration for THD ProScan.
  517. THDINSTL accepts four (4) different parameters. (note that "/NOMOVE" is no
  518. longer supported as a commandline parameter. Instead "Failed File Moving"
  519. can be toggled from the final screen).
  520.  
  521. - command line syntax -
  522. -----------------------
  523.  
  524. - ? -
  525.     Running THDINSTL.EXE ? will result in a quick display of the commandline
  526. options available for running THDINSTL.EXE.
  527.  
  528. - /F -
  529.      Running THDINSTL /F will cause the installation to emulate an original
  530. installation as if the file had never been configured before. Useful if you
  531. have made major errors or wish to make major modifications to your
  532. configuration.
  533.  
  534. - {PATH\TO\OLD\THDPRO.EXE} -
  535.      Running THDINSTL.EXE C:\OLDTHD\THDPRO.EXE will result in THDINSTL
  536. reading the file who's name is supplied. If this file is found to be a valid
  537. THDPRO.EXE from the version 6.0 or later than the configuration from that
  538. file will be extracted for use in configuring the THDPRO.EXE in the current
  539. directory. If it is not recognized as a valid THDPRO.EXE, it will default to
  540. a full installation process.
  541.  
  542. - /NET -
  543.   Running THDINSTL.EXE /NET will run in "network compatible mode". This has
  544. the effect of not including the drive letter specifications when files are
  545. found. As well it changes drive selection to allow only the use of the current
  546. drive for the creation of its temporary directories. This is exactly the same
  547. as renaming THDINSTL.EXE to NETINSTL.EXE as explain under "Network Notes".
  548. IF used, this parameter must be the last thing on the command line.
  549. BEFORE using this parameter, be sure to read the Network Notes!
  550.  
  551. - Function -
  552. ------------
  553.  
  554.      The sole purpose of THDINSTL.EXE is to configure THDPRO.EXE. If
  555. THDPRO.EXE is not yet configured, you will be stepped through a series of
  556. questions. Answer these questions appropriately by supplying paths etc,
  557. until the final three screens, where you will be shown the results of your
  558. input, and have the option to make changes prior to changing the
  559. configuration inside THDPRO.EXE.
  560.      If THDPRO.EXE has been previously configured, THDINSTL will read that
  561. configuration and skip directly to the final three screens, from which you
  562. can opt to make changes.
  563.      At almost any time during the installation you can press function key
  564. F1 to receive online help or F2 for a shell to the operating system.
  565.  
  566.  
  567.                                                                 Page 10
  568. - conditions for running successfully -
  569. ---------------------------------------
  570.  
  571.      THDINSTL, insists that the THDPRO.EXE which is to be configured is
  572. present in the current directory when it is run.
  573.      THDINSTL, requires approximately 150k of free memory to run (more or
  574. less may be required depending on your use of the dos shell feature available
  575. by pressing function key F2).
  576.      Changes will only be saved by hitting "enter" from the final screen.
  577.  
  578. - selection screens -
  579. ---------------------
  580.  
  581.      THDINSTL will step you through numerous screens. This text will only
  582. outline those screens which require more than a path to a file be supplied.
  583. For those entries which are simply paths, you should supply a full drive
  584. path and filename (complete with extension). The exception being that persons
  585. running on networks should not supply drive letters and should also read the
  586. section marked "NETWORK notes".
  587.  
  588. - The very first screen after product identification will show the following
  589.   prompt. I think it's pretty much self explanatory.
  590.  
  591.     Please press "C" to continue.
  592.     Any other key will abort the installation.
  593.  
  594. - Next screen.. same idea...
  595.  
  596.      PRESS ANY KEY TO START THE INSTALLATION...
  597.  
  598. - THD ProScan, records all of it's activity in a log file
  599. called "THDPRO.LOG" which is kept in your BBS directory.
  600. Please input the maximum allowable size for the log file.
  601.  
  602. A value of "0" avoids THD's internal logging entirely. However the
  603. Virus scanner log is still kept.
  604.  
  605. A negative entry will result in a logfile
  606. which will grow to the limit of the available disk space.
  607.  
  608. Please enter the maximum allowable log size---»  5000░░░░░░
  609.  
  610. - [DOS Version ONLY] - The option to reboot and drop carrier on virus
  611. uploaders are simple yes/no choices. Both of these options use the fossil
  612. to perform these functions. Generally it's a good idea not to drop carrier
  613. on users. And rebooting your system upon detection of a virus is generally
  614. not necessary.
  615.  
  616.  
  617.                                                                   Page 11
  618.  
  619. - The option to supply a maximum size to autotest files is simple. If for
  620. some reason you do not wish to test large files, you can select to not test
  621. files automatically if they are larger than the selected size.
  622.      Any files over this size will cause THDPRO.EXE to prompt the sysop for
  623. 5 seconds to press a key. If the sysop presses a key, then the file will be
  624. tested. If no key is pressed, then the file is passed without testing and a
  625. note is logged.
  626.  
  627.     A) 1 Megabyte  (1024576 bytes)
  628.     B) 2 Megabytes (2049152 bytes)
  629.     C) 3 Megabytes (3073728 bytes)
  630.     D) 4 Megabytes (4098304 bytes)
  631.     A/B/C/D to set size or "ANY OTHER KEY" to test all files  ------»
  632.  
  633. - Default comport. seemingly simple enough. This entry accepts a digit
  634. between 0 and 8. If your BBS can pass a comport, then I recommend setting
  635. this to "0" and let the BBS supply the comport when necessary.
  636.      If you run a single node BBS which can not pass the comport, then
  637. setting this to the appropriate comport used by the BBS would be correct
  638. entry. Note that this entry goes by the human definition of comport and not
  639. by the fossils definition. (com 0 is local [no comport] and not port 1 as
  640. would be determined by most fossil drivers). Users of the OS/2 version should
  641. set this to "0" as the OS/2 version requires a "file handle and not a
  642. "comport".
  643.  
  644. - Local comport is a very specific setting for a very specific circumstance.
  645. Almost everyone should set this to "0". If you think perhaps you need this
  646. setting, then hit function key F1 from this screen for a description of who
  647. does and does not need this. Again, users of the OS/2 version should set
  648. this to "0".
  649.  
  650. - BBS name. This entry is limited to 39 characters (as are most of them
  651. which require multiple character input). This entry MUST be made. if you
  652. don't run a BBS enter your name or alias at this prompt. This is the name
  653. which the user side will show THD as being "Registered to".
  654.  
  655.     Please enter the full name of your Bulletin Board
  656.     ie. The Best Little Board in Texas
  657.  
  658.     Input Name---»:
  659.  
  660. - Log directory. This entry requires a path to a directory in which you
  661. would like THD to keep it's log files. THD keeps a log for each file tested.
  662. This entry is mandatory.
  663.  
  664.     Please enter the FULL path to your LOG directory
  665.     ie. C:\BBS  (No ending "\")
  666.  
  667.     Input LOG Directory---»:
  668.  
  669. This entry will be required regardless of whether logging is active.
  670.  
  671.                                                                   Page 12
  672. - Reject directory. this is the directory to which THDPRO.EXE should move
  673. failed files If the FAILED FILE MOVING is set to normal (from the final
  674. screen of the installation). This entry must be valid. it will not be used
  675. if failed file moving is turned off, but must be configured just in case.
  676. Enter the path to a directory which THD should move such files.
  677.  
  678. - BBS Type.
  679.  
  680.     Which of the following BBS types are you running?
  681.  
  682.     1- RemoteAccess (version 2.0? or 2.5?)
  683.     2- Telegard (version 2.7 or 3.??)
  684.     3- Renegade (07-17-93 or compatible)
  685.     4- FILES.BBS
  686.     5- PCBOARD (version 15.0 or compatible)
  687.     6- T.A.G. (version 2.7 or compatible)
  688.  
  689.     O- Other (Create TESTINFO.DAT file)
  690.     N- None  (Do not create a data file)
  691.  
  692.     If you are not running any of the above enter "N"
  693.  
  694.      If you use and want THD to update the file bases for one of these BBS
  695. types. Select that BBS type. the installation may prompt you for a path or
  696. other information if you select one.
  697.  
  698.      Selecting "O" (for other) will tell THDPRO.EXE that you do not run one
  699. of the supported BBS types, but that you wish it to create a TESTINFO.DAT
  700. file for each file processed. This file can be used by external utilities to
  701. update the file bases for types not supported by THDPLUS. This should only
  702. be selected if the utility you are using specifically requests that this
  703. file be created.
  704.  
  705.      Selecting "N" (for none) Tells THDPRO.EXE that you are not using one of
  706. the supported bbs types (or do not wish them to be updated) and that you do
  707. not wish to have a TESTINFO.DAT file generated.
  708.  
  709. If your BBS types is not "expressly" listed here select "N" unless you have
  710. an external interface which requires you to select "O"ther.
  711.  
  712. - Age/date limit. This option allows you to limit the acceptance of files
  713. based on the dates of files included in the archives. If you wish to limit
  714. file by age or date, you would be well advised to look into the online help
  715. at this screen (F1).
  716.  
  717.                                                                   Page 13
  718. - VENDINFO.DIZ file support. THD supports the Vendinfo.diz file standard
  719. version 1.00 in a limited capacity. The capacity is limited to descriptions
  720. (and Author name as well as Product name and version in comments only)
  721.      I strongly recommend using these descriptions if you use description
  722. importation at all. These descriptions ARE supplied by the author and are
  723. generally good descriptions. The file contains 6 distinctively different
  724. descriptions (they are not just cut off at "x" number of lines)
  725.  
  726.     0 - do not use VENDINFO descriptions.
  727.     1 - 60 character description.
  728.     2 - 120 character description.
  729.     3 - 250 character description (suitable for TG/RG/FILES.BBS).
  730.     4 - 450 character description (FILE_ID.DIZ size).
  731.     5 - 750 character description.
  732.     6 - 1500 character description.
  733.  
  734. - Heuristic Failures
  735.      If you select to use a heuristic tester for virus scanning THDPRO.EXE
  736. can be set to either fail those files which raise heuristic flags or to pass
  737. them. If you use ONLY heuristic testers, this will default to fail
  738. heuristically flagged files. If you use SCAN.EXE for detection you can
  739. choose to only log instances of heuristic flagging.
  740.  
  741.  
  742. -File comments. File comments are a very complex issue in THD ProScan. At
  743. this screen your choice is simple. You can opt to enter a single path to a
  744. file to be used as a file comment for every file (option 1) or supply the
  745. path to a list of comments (option 2). For more information on the many
  746. options available for file comments see the appropriate section in this
  747. document.
  748.  
  749.     1. You can supply the full path to a file
  750.           to add as an "archive comment"
  751.                     OR
  752.     2. You can supply a full path and filename to
  753.        a list of such files to be chosen at random.
  754.  
  755.     Press any other key to skip this entry
  756.  
  757.                                                                   Page 14
  758. - Drive options. this selection refers to the drives THDPRO.EXE should
  759. attempt to use when making it's temporary directory structure (temporary
  760. workspace). THD automatically detects the drives present on the system and
  761. displays the first three here. To access a drive not shown here remove one
  762. or more drive letters by entering the letter of the drive to be removed.
  763.      For information or other options you should see the online help from
  764. this screen (F1). The "0" option tells THDPRO.EXE to use ONLY the default
  765. drive for it's workspace. This is HIGHLY recommended for Network operations
  766. or other environments when drive specifications can cause confusion.
  767.  
  768.     THD ProScan will use the following drives to test files.
  769.  
  770.     Drive C:
  771.     Drive D:
  772.     Drive E:
  773.  
  774.     If you do NOT wish one of these drives to be used for testing.
  775.     press the drive letter to "NOT" do testing on.
  776.     To access a drive not shown here, remove one or more of the above
  777.     drives, until the one you want is displayed.
  778.  
  779. To reverse the order showing press "1".
  780. To Rotate the order press "2". For network comp. mode press "0".
  781. [enter] accepts the configuration shown...
  782.  
  783. - File removal is a relatively complex choice. Choices 1 and 2 are
  784. relatively simple. for an explanation of CRC removal see the section on CRC
  785. mode. The online help also gives a brief explanation (F1 from the
  786. appropriate screen).
  787.  
  788.     1. You may supply a few filenames to be removed.
  789.     2. You may supply a list of filenames to be removed.
  790.     3. You may choose to remove files by their CRC values.
  791.     4. You may remove files using by BOTH CRC and filenames.
  792.  
  793.     Choosing to use both list types will remove files based
  794.     on their CRC values and then check the remaining files for
  795.     files to be removed by name only.
  796.  
  797. - The "files to add" option allows THDPRO.EXE to add files of your choice to
  798. each archive tested (except protected archives). At this screen you can
  799. supply a few file names or a path using wildcards indicating which files
  800. should be added (hit enter for none).
  801.  
  802. -  A feature of this tester is the ability to reject files from a list of
  803. file names. This list must be a list of file names ONLY with no extension
  804. with each name on a separate line. The HACKLIST "*.COL" files are compatible
  805. with this format and "may" be used directly. The hacklist "IDX" files can
  806. also be read directly by this tester.
  807.      At this point you can hit enter to skip this option or enter the full
  808. path and filename of a list of files to be used as a hacklist. (See the
  809. section on file formats for specific information on the acceptable format of
  810. a hacklist)
  811.  
  812.                                                                   Page 15
  813.  
  814. - This Version of THD ProScan allows you to select "default" options. If you
  815. choose to configure these options they will only be utilized if no options
  816. are entered on the command line. Supplying any parameters on the command
  817. line other than a file path and name will cancel these options.
  818.  
  819.     Options which can be set by this configuration are...
  820.     The conversion type and level -
  821.     The /NODESC option -
  822.     The /CO feature -
  823.     The /KO feature -
  824.  
  825.     Do you wish to set/modify defaults for any of these? [y/N]
  826.  
  827. At this point if you select to have THDPRO.EXE assume default command line
  828. options, you will be prompted as follows...
  829.  
  830.     The default options are as follows...
  831.     These options are "toggles".
  832.     To change the setting of any given toggle simply enter
  833.     the corresponding letter.
  834.     * Note that some options are unavailable without a conversion type. *
  835.     Hit [ENTER] to accept the defaults as shown.
  836.  
  837.     A-- Conversion "OFF" by default.
  838.     B-- Convert-only mode  ("/CO") - FALSE
  839.     C-- Keep-Original mode ("/KO") - FALSE
  840.     D-- Convert indicator          - None
  841.     E-- Use /NODESC option         - FALSE
  842.  
  843. As you select options, the various values will change on the screen
  844. indicating your choices. Hit enter when the choices match your desired
  845. settings. (You might be best not to change these until you are familiar with
  846. the command line options and what they do).
  847.  
  848.  
  849.                                                                   Page 16
  850.  
  851. - THD ProScan has 3 user definable levels for archive conversions. You
  852. should select to modify one or more of these options if the preconfigured
  853. levels are not to your liking.
  854.  
  855.   Do you wish to view and/or modify these settings? [y/N]
  856.  
  857. If you select YES you will see a screen like this..
  858.  
  859.     Available options                   level4      level5      level6
  860.  
  861.     Convert imbedded archives           FALSE       FALSE       FALSE
  862.     Convert SFX main archives           FALSE       FALSE       FALSE
  863.     Convert SFX imbedded archives       FALSE       FALSE       FALSE
  864.     Convert odd name main archives      FALSE       FALSE       FALSE
  865.     Convert odd name imbedded archives  FALSE       FALSE       FALSE
  866.     Convert protected main archives     FALSE       FALSE       FALSE
  867.     Convert protected imbedded archives FALSE       FALSE       FALSE
  868.     Convert archives of the same type   FALSE       FALSE       FALSE
  869.  
  870.     Arrow keys to move around.
  871.     [SPACE] key to toggle the highlighted value.
  872.     [ENTER] key to accept all values shown.
  873.     Press desired key ...
  874.  
  875. Change the values by following the instructions. To use these levels see the
  876. section dealing with Conversion mode.
  877.  
  878. - final screens -
  879. -----------------
  880.  
  881.      After answering the numerous prompts in the install you will be
  882. presented three final screens. The options on these final screens are
  883. shown below. Some options may not be seen prior to the final screens.
  884.  
  885.      The options available on the final three screens are generally a recap
  886. of information you have entered during the installation up to this point. To
  887. change any of the entries type the letter which corresponds to the entry you
  888. wish to change.
  889.  
  890. - Final Screen one - contains only selections which would have been
  891. configured to this point.
  892.  
  893. - Final Screen two - contains only path to utilities which you would have
  894. configured prior to this point.
  895.  
  896. - Final Screen three - has two option which you will not yet have seen
  897. they are options "G" and "I"
  898.  
  899.  
  900.                                                                   Page 17
  901.  
  902.      - Option "G" deals with the timestamp of the file being tested. This
  903. should be set to indicate what timestamp should be put on this file.
  904.      Hitting "G" from this screen will toggle between the following four
  905. choices.
  906.  
  907.    G-- File's Timestamp      -- Use date of newest internal file.
  908.      This option uses the timestamp of the newest internal file for the
  909.      finished archive.
  910.  
  911.    G-- File's Timestamp      -- Update to current date and time.
  912.      This option uses the current time and date for the finished archive.
  913.  
  914.    G-- File's Timestamp      -- Use File's upload date and time.
  915.      This option uses the timestamp that the file had when it was uploaded.
  916.  
  917.    G-- File's Timestamp      -- "Best Guess" at original date and time.
  918.      This option uses a calculation based on a average of the 5 newest files
  919.      in the archive. Recommended only if you don't normally strip others BBS
  920.      ads from the archives.
  921.  
  922. - Option "H" is used to determine if THDPRO.EXE should move and/or rename
  923. files which fail it's various tests.
  924.      IF your BBS handles the moving of files when they fail (like
  925. RemoteAccess) then this should be set to inactive, so that the BBS can find
  926. the files to move them.
  927.      If however your BBS does not handle moving of failed files (like
  928. Telegard 2.7), you should set this to "normal" so that THD will move the
  929. files as needed to avoid having the BBS delete them.
  930.       If you are unsure, set it to normal and change it later "if necessary".
  931.  
  932. - Option "O" is toggled to invoke SECURE mode. Secure mode is explained in
  933. detail elsewhere in this document. You should set this to false until you
  934. have completely reviewed the section on secure mode.
  935.  
  936.     From this final screen hit [enter] to save the configuration into
  937. THDPRO.EXE and you are done.
  938.      Remember that throughout this process pressing F1 will get you online
  939. help, and F2 will provide a dos shell. For the record, the online help in
  940. most cases offers a more complete description that is present in this
  941. portion of the text.
  942.      At any prompt, configuration can be aborted by hitting CTRL-C.
  943.  
  944.                                                                   Page 18
  945.  
  946.                                --------------
  947.                                - THDPRO.EXE -
  948.                                --------------
  949.  
  950. - Command line syntax -
  951. -----------------------
  952.  
  953. - ? -
  954.  
  955.     Running "THDPRO.EXE ?" will result in a help screen which gives a brief
  956. description of the proper syntax, for the various modes.
  957.  
  958.     - With the exception of the ? option, all other options require supplying
  959.       a filepath.
  960.  
  961. - /ADD -
  962.  
  963.     Using this switch tells THDPRO.EXE to toggle the flag in the TESTINFO
  964. record which indicates that the user wishes to have a record added to the
  965. file database if one does not already exist. THDPLUS does not support this
  966. option. It is included for users of third party utilities. This is identical
  967. in function to "SET THDOPT=ADD".
  968.  
  969. - /CO -
  970.  
  971.     Running "THDPRO.EXE {drive:\path\filename.ext} /CO [Convert Indicator]"
  972. invokes THDPRO.EXE in Convert-Only mode. Using this switch will cause the
  973. file to be converted to the type of the convert indicator which must also be
  974. supplied (convert indicators are explained below).
  975.     No "testing" will be done in this mode.
  976.  
  977. - CRC -
  978.     Running "THDPRO.EXE CRC {drive:\path\filename.ext}" will invoke
  979. THDPRO.EXE in CRC mode. CRC mode is explained in detail later. This is the
  980. only mode in which wildcards will be accepted.
  981.  
  982. - /KO -
  983.  
  984.     When conversion mode is active (either Convert-Only mode or normal
  985. test/convert mode), if this switch is supplied, THDPRO.EXE will not delete
  986. the original file after conversion takes place. (Normally if conversion is
  987. successful, the original file is deleted and replaced by the newly converted
  988. file).
  989.  
  990. - /LA -
  991.     Using this switch (Log All), THDPRO.EXE will not exit immediately
  992. following a failed virus scan. Instead, it will finish scanning with all
  993. configured virus scanners before indicating a scan failure. This can be used
  994. to record the log output of the three scanners into HEURIST.LOG. Note that
  995. output from the SCAN 1.x.x series is not logged, but Scan 2.x.x as well as
  996. F-Prot and TBSCAN are logged.
  997.  
  998.                                                                   Page 19
  999.  
  1000. - /NODESC -
  1001.  
  1002.     Running "THDPRO.EXE {drive:\path\filename.ext} /NODESC" will result in
  1003. normal running of the test mode of THDPRO.EXE while NOT importing the
  1004. descriptions into your file data bases. This switch is useful when you wish
  1005. THDPRO.EXE to update your data bases in regards to name changes but not in
  1006. regard to descriptions.
  1007.  
  1008. - /OV -
  1009.     Running "THDPRO.EXE {drive:\path\filename.ext} /OV" will cause THDPRO.EXE
  1010. to ignore the internal time and space limitations. This is useful to test
  1011. files which you do not wish tested automatically, but do wish to test
  1012. manually. This allow you to test files which failed due to time or space
  1013. restrictions without needing to change these settings in the configuration.
  1014.  
  1015. - /RO -
  1016.    Tells THDPRO.EXE to treat the file as if it resided on a READ-ONLY media.
  1017. Use this option to avoid having THDPRO.EXE make any changes to a file
  1018. whatsoever. This should not be required to test CD-ROM drives as they "should"
  1019. be automatically detected. If however you have a read-only media not
  1020. recognized as a CD-ROM or if you just want unmodified files then use this
  1021. switch.
  1022.  
  1023.  
  1024. - 0 (1,2,3,4,5,6,7,8) {COMPORT} -
  1025.  
  1026.     Supplying a single digit of 0-8 on the command line will cause THDPRO.EXE
  1027. to ignore the internally configured comport and use the comport number
  1028. supplied on the command line. The use of "0" will cause no remote output to
  1029. take place (this forces local mode). Other comport numbers will supply remote
  1030. output to the comport supplied.
  1031.  
  1032. - /60 /120 /250 /450 /750 /1500 -
  1033.  
  1034.     Use of any one of these switches will inform THDPRO.EXE that instead of
  1035. the comment size selected in installation, you prefer it use this "/xxx" size
  1036. for commenting files. Note that this size selection refers ONLY to
  1037. descriptions taken from a VENDINFO.DIZ and ONLY as used in file comments.
  1038. These switches were added to allow you to have 1500 character descriptions
  1039. in your File base but not be forced to have the same size comment in your
  1040. file comment (if you chose to use that option). These switches have no effect
  1041. when descriptions are taken from the other than VENDINFO.DIZ files.
  1042.  
  1043. - TOZIP (TOARJ,TOLHA,TOSQZ,TOUC2,TORAR) {CONVERT INDICATORS} -
  1044.  
  1045.     These six labels are called Convert Indicators. Using these on the
  1046. command line will cause THDPRO.EXE to go into conversion mode. (note that
  1047. without the "/CO" switch testing will be performed as usual and conversion
  1048. will follow immediately thereafter).
  1049.     Only one may be used on the command line. Detailed explanations of the
  1050. various convert indicators is given later in this document.
  1051.  
  1052.                                                                   Page 20
  1053.  
  1054. - Requirements -
  1055. ----------------
  1056.          This tester requires...
  1057.  
  1058.     [ For OS/2 ]
  1059.          - IBM/PC compatible 386 or higher with 4 megs RAM.
  1060.          - OS/2 WARP version 3 (may or may not work with other versions)
  1061.          - SIO.SYS "recommended" (Ray Guinn's replacement for COM.SYS)
  1062.          - At least one Harddisk (drive assignment C: - Y:)
  1063.          - at least ONE of i) McAFEE's VIRUSSCAN (The 2.?.? series only -
  1064.                                                   OS2SCAN.EXE or SCAN.EXE)
  1065.                           ii) F-Prot
  1066.                          iii) TBScan
  1067.  
  1068.     [ For DOS ]
  1069.          - IBM PC/XT (or compatible)
  1070.          - MS-DOS 3.3 (or higher)(other "DOS" systems MAY be acceptable)
  1071.          - A FOSSIL DRIVER (user output will not be sent if no fossil is
  1072.                            found but the testing will still be done)
  1073.          - At least one Harddisk (drive assignment C: - Y:)
  1074.          - at least ONE of i) McAFEE's VIRUSSCAN (the 2.x.x series)
  1075.                           ii) F-Prot
  1076.                          iii) TBScan
  1077.          - Enough free memory to run each of the utilities used by this
  1078.            program (+3k). THDPRO.EXE requires about 225k itself to load, but
  1079.            releases all but 3k of that to run external programs.
  1080.  
  1081.          The following utilities are required depending on which file types
  1082.          you wish to test.
  1083.  
  1084.          - ARJ.EXE        for "ARJ" files (version 2.41a)
  1085.          - GIFTEST        for "GIF" files (version 4.xx)
  1086.          - HYPER.EXE      for "HYP" files
  1087.          - LHA.EXE        for "LZH" files
  1088.          - PAK.EXE        for "ARC" files
  1089.          - PAK.EXE        for "PAK" files
  1090.          - PKARC/PKXARC   for "ARC" files
  1091.          - PKPAK/PKUNPAK  for "ARC" files
  1092.          - PKZIP/PKUNZIP  for "ZIP" files (version 1.10 - 2.04g)
  1093.          - RAR.EXE        for "RAR" files (version 1.51)
  1094.          - SQZ.EXE        for "SQZ" files
  1095.          - TDCHECK.EXE    for "TD0" files
  1096.          - UC.EXE         for "UC2" files (revision 2)
  1097.          - UNP.EXE        for expansion of compressed executable files (v4.11)
  1098.      (Where versions are specifically mentioned, it is believed that
  1099.       versions other than those mentioned "may" not work as expected.)
  1100.  
  1101.       OS/2 specific archivers supported are
  1102.          - LH32.EXE       for "LZH" files (version 2.22 by Peter Fitzsimmons)
  1103.          - ZIP.EXE        for "ZIP" files (INFO-ZIP version 2.0.1)
  1104.          - UNZIP.EXE      for "ZIP" files (INFO-ZIP version 5.12)
  1105.          - RAR.EXE        for "RAR" files (version 1.55)
  1106.  
  1107.                                                                   Page 21
  1108.  
  1109. - Function -
  1110. ------------
  1111.  
  1112.          WHAT WILL IT DO..
  1113.               THD ProScan will ..
  1114.          1) Check (and/or reject) files from a user supplied list of files
  1115.          2) Strip the file comment
  1116.          3) CRC test the file
  1117.          4) FIND a drive with enough space to test the file
  1118.          5) Create a directory called "THDTEMP.???" on that drive
  1119.          6) Remove files (if configured) from the archive.
  1120.               (Removal by name, by crc, or by both).
  1121.          7) Check dates to reject old files (if selected).
  1122.          8) Expand the archive into that directory while recreating
  1123.                its internal path structure.
  1124.          9) Extract and process VENDINFO.DIZ if configured.
  1125.          10) It then selectively searches each of the subdirectories created
  1126.               for testable archives. If found, it repeats the above process
  1127.               until no more archives are found.
  1128.          11) It will then scan each of the files in that directory and
  1129.               all subdirectories below it.
  1130.          12) THDPLUS will run if so configured.
  1131.          13) Add your loaders to the archive
  1132.          14) It maintains a log in your BBS directory of all actions
  1133.               performed.
  1134.          15) Perform a complete accurate conversion (if selected).
  1135.          16) Add your file comment.
  1136.          17) It then proceeds to remove the temporary directory structure.
  1137.          18) Updates all of the log files.
  1138.          19) Reports the appropriate errorlevel to dos.
  1139.  
  1140.               The full process is actually much more complex than this basic
  1141.          outline, but the above gives a reasonable representation of what
  1142.          happens.
  1143. - Features -
  1144. ------------
  1145.  
  1146. - Support for ARC/ARJ/GIF/HYP/LHA/PAK/RAR/SQZ/TD0/UC2/ZIP file formats.
  1147.  
  1148. - Allows the use of UNP.EXE to expand compressed executable files prior
  1149.      to Virus scanning. In some instances this can significantly increase
  1150.      a virus scanner's ability to identify virused files. This option is ONLY
  1151.      available during test mode and cannot be used during conversion due to
  1152.      the fact that UNP physically changes the files which could adversely
  1153.      affect their operation.
  1154.  
  1155. - The sysop can cause the program to pause prior to returning from a dos
  1156.      process (to allow then time to view the output of the dos process).
  1157.      This is accomplished by pressing "P" while the process is running.
  1158.      Once paused, you must press another key to resume normal operation.
  1159.      Note that "some" programs may flush the keyboard buffer rendering this
  1160.      function inoperable.
  1161.  
  1162.                                                                   Page 22
  1163. - Two testing methods.
  1164.      THDPRO.EXE starts out in default mode. In this mode THDPRO.EXE will
  1165.      attempt to expand the main file and all of it's imbedded files prior to
  1166.      beginning the virus scan. This method is designed for speed, but can
  1167.      require a significant amount of disk space. If unable to expand one
  1168.      of the embedded files, THDPRO.EXE will drop back to the "FALLBACK"
  1169.      method.
  1170.      The "FALLBACK" method, extracts and scans each imbedded archive
  1171.      separately. This method may not require as much disk space (in some cases
  1172.      it requires significantly less), but will take longer to run. This is the
  1173.      method used by all previous versions of THD ProScan. The drop to the
  1174.      FALLBACK method is automatic and only used when space prohibits the use
  1175.      of the default method.
  1176.  
  1177. - Intelligent processing of LHA files.
  1178.      The handling of LHA files is done in an "intelligent" manner. The file
  1179.      type is diagnosed to see if it is expandable on a DOS based system. If it
  1180.      cannot be expanded, it will be CRC tested only. If it can be expanded, it
  1181.      will be checked for the use of the root directory. If it attempts to use
  1182.      the root directory, a clone will be built which makes no attempt and the
  1183.      clone will will be expanded and tested in its place.
  1184.  
  1185. - Complete logging of file testing.
  1186.      All aspects of the test are logged in a file called THDPRO.LOG in
  1187.      a directory which you configure in THDINSTL. The size of this log
  1188.      is configurable, and it reports processes and failures.
  1189.  
  1190. - Logging of heuristic testing only when suspicious code is found.
  1191.      It seemed unreasonable to log all heuristic testing, considering that
  1192.      MOST of the time there are no infections. The logs kept for failures
  1193.      or for suspicious code are generated by the virus scanners themselves.
  1194.  
  1195. - Sysop can opt to NOT test files if they are too large.
  1196.      During the installation, you can choose to not test files over a given
  1197.      size. If you choose this, you may pick from files over 1,2,3 or 4
  1198.      megabytes (1048576 bytes per megabyte). If this option is enabled
  1199.      and THD ProScan is asked to test a file larger than the "acceptable"
  1200.      size, it will prompt the sysop for 5 seconds to press a key. (in this
  1201.      way you can still test these files manually by pressing a key). If no
  1202.      key is pressed, the file is passed without testing.
  1203.  
  1204. - Testing can also be limited based on free disk space, time or expanded size.
  1205.      Options allow these specs to be checked during testing so that testing
  1206.      can be aborted if these limits are exceeded. The size option can also
  1207.      be used to not test a file if the size of the expanded archive is
  1208.      "expected" to exceed the size limitation (This last feature is only
  1209.      active with "some" archive types). Note that these checks are performed
  1210.      after expansion and may have no effect on archives without imbedded
  1211.      archives.
  1212.  
  1213.                                                                   Page 23
  1214. - 100% share aware and compatible (share.exe is not a requirement)
  1215.      Before any file is opened by THDPRO.EXE, the presence of share.exe
  1216.      is determined. If SHARE is loaded, then the file is opened in a
  1217.      shared mode, so that other processes may also use the files. If
  1218.      share is not loaded, files are opened in standard mode.
  1219.      If file access is denied, THD ProScan will wait for up to 30 seconds for
  1220.      the file to be released. If the file is not released in 30 seconds,
  1221.      the test is aborted and the file passed. Otherwise, if the file is
  1222.      released, testing will resume without incident.
  1223.  
  1224. - File descriptions can be directly imported into the file data bases.
  1225.      Through the use of THDPLUS, file comments can be added to the file bases
  1226.      for users of REMOTEACCESS 2.00(+), Telegard 2.7, Renegade 07-17 and the
  1227.      many FILE.BBS supported BBS'es. THDPRO.EXE will create a data file with
  1228.      the necessary file information and then call THDPLUS to make changes.
  1229.          VENDINFO.DIZ if found will be processed and used regardless of the
  1230.      presence of the following files. Without a VENDINFO.DIZ these description
  1231.      files will be prioritized in the following order.
  1232.         i) FILE_ID.DIZ - if found it will be used.
  1233.        ii) DESC.SDI - will be used in the absence of FILE_ID.DIZ.
  1234.       iii) DESC.SDN - will be used if neither of the above are found.
  1235.      In the event that no description files are in the archive, THD ProScan
  1236.      will make no attempt to alter the user's description.
  1237.  
  1238. - Allows the sysop to use any combination of
  1239.   SCAN.EXE / F-PROT.EXE / TBSCAN.EXE  (1, 2, or all three)
  1240.     SCAN.EXE is no longer required due to it's memory needs. Instead
  1241.     you may opt to use any or all of the noted virus testers. Or any
  1242.     combination of them. However note that at least ONE MUST be used.
  1243.     Simply tell THDINSTL the full path and filename of the tester(s)
  1244.     that you wish to use and all selected scanners will be run on
  1245.     every file. Support for the SCAN 1.x.x series is available through the
  1246.     proper use of the THDOPT environment variable (explained later).
  1247.  
  1248. - Supports "heuristic" testing for suspicious code using F-PROT.EXE
  1249.   or TBSCAN.EXE.
  1250.      When testing is done using F-Prot or TBScan, the tests are always
  1251.      performed in "heuristic mode". This will enable these testers to
  1252.      find some unknown viruses as well as the known viruses.
  1253.  
  1254. - Optionally pass or fail files which contains suspicious code found
  1255.   by the heuristic testers.
  1256.     You can choose to consider "suspicious" files as being virus infected
  1257.     and thereby cause THD ProScan to consider them failed. Normally, I
  1258.     recommend against this but there are many valid reasons to fail such
  1259.     files. DO NOT fail these files if your BBS deletes failed files. This is
  1260.     only optional if SCAN.EXE is used. in absence of SCAN.EXE heuristic
  1261.     failures will be considered virus infected.
  1262.  
  1263. - Allows UNP to be run on all files to expand compressed executables to
  1264.      allow virus scanner to better examine their contents. Use of this
  1265.      feature can greatly increase the ods of detecting viruses in compressed
  1266.      executables.
  1267.  
  1268.                                                                   Page 24
  1269.  
  1270. - Optionally display a "changed" internal interface.
  1271. - Allows the sysop to supply up to 9 user side "interfaces" .
  1272.      The ability for the sysop to supply up to 9 user side interfaces
  1273.      and 9 replacement corners for the internal interface. Giving a total
  1274.      of 21 possible remote screens to be chosen at random during any one
  1275.      test run.
  1276.  
  1277. - The file after testing can be time stamped with one of four date
  1278.   selections.
  1279.     Original date - Choosing this option will date the finished file with the
  1280.          same date and time it had at the start of the test.
  1281.     Current Date - Choosing this option will date the finished file with the
  1282.          time and date of the completion of the test.
  1283.     Newest date - Choosing this option will date the finished file with the
  1284.          time and date of the newest file included inside the archive.
  1285.     Best Guess - Choosing this option will date the finished file with the
  1286.          time and date of a calculation of the average date and time of the
  1287.          five newest files internal to the archive.
  1288.  
  1289. - Identifies all archives by their internal signatures.
  1290. - Including self extracting archives.
  1291.     All archive types are recognized by their archivers unique signatures.
  1292.     Even the self extracting files are done by signature, so the name of
  1293.     a file will have no bearing on whether or not it is tested. If it is an
  1294.     archive type which you have configured for testing, it will be tested.
  1295.     This may be limited by some bbs programs ability to tell THD ProScan
  1296.     what to test, since some will only pass the file for testing based on
  1297.     it's extension.
  1298.  
  1299. - Allows files to be rejected based on the dates of the files inside the
  1300.   archives.
  1301.     You can choose to limit the acceptance of files on your BBS based on the
  1302.     actual date of the files inside the archive. OR you may choose to limit
  1303.     them based by how old they are. The difference? You may choose to reject
  1304.     files older than "3 months" (you choose the age) and thereafter never
  1305.     update the limit as age is compared to the date of testing.
  1306.     Or you may choose to not accept files created before "January 1 1990"
  1307.     (again you choose the date), and files will be failed based on their
  1308.     "date". Note that the dates referred to here are the date INTERNAL to
  1309.     the archive and not the archive date.
  1310.  
  1311. - Can reject files by name using a "hack list" (HACK****.COL and IDX
  1312.   files can be read directly as well as BADFILES.CTL type files).
  1313.     You can choose not to test files which have specific names. This is
  1314.     useful for avoiding testing of known viruses/hacks/pirated software.
  1315.     You can create a list of file names to be rejected or use the
  1316.     official "Hack Report" files. Or you can mix the two. Files rejected
  1317.     by this method will be considered to have FAILED testing.
  1318.  
  1319. - Support for remote ansi or ASCII as determined by auto ansi detect.
  1320.     The presence of ANSI on the remote side is automatically detected.
  1321.     If ansi is found, it is used. Otherwise output is plain ASCII.
  1322.  
  1323.                                                                   Page 25
  1324.  
  1325. - Suppression of remote output through the use of "comport 0".
  1326. - Suppression of remote output through the use of a user defined comport.
  1327.     Remote output can be suppressed when run locally (to avoid sending
  1328.     the ASCII output to an unsuspecting user). It can also be suppressed
  1329.     when told to send to a "legitimate" comport. (Not recommended except
  1330.     in some very odd circumstances)
  1331. - Protection for "ZIP" archives which have a valid "AV".
  1332.     Zip files which contain a valid "AV" (Authenticity Verification)
  1333.     will not be modified, since this would corrupt the "AV". These
  1334.     files will be reported in your THDPRO.LOG so that you may see
  1335.     if they have legitimate "AV"'s. All "testing" will be performed as
  1336.     usual.
  1337.  
  1338. - Strips comments from all archives before any processing is done
  1339.     Ansi bombs are avoided by stripping the comments of all archives
  1340.     without allowing the comments to be displayed to the screen. This will
  1341.     protect your system from ansi bombs while THDPRO is running.
  1342.  
  1343. - Recreates full directory structure "from" the temporary directory,
  1344.     Although the process involved is very complex to explain, if an
  1345.     imbedded archive exists in an archive it WILL be found and tested.
  1346.     No matter how many subdirectories or other imbedded archives must
  1347.     be searched in order to find it. This is limited by the types of
  1348.     archives supported by your system. But if it can be found with
  1349.     what is configured...IT WILL BE.
  1350.  
  1351. - Does not allow the "overwrite" option on any of the archive types.
  1352.   (stops some forms of "hacking")
  1353.     Some upload testers use the "overwrite" option to avoid having
  1354.     the archivers prompt the sysop for input. THD ProScan does not allow
  1355.     overwrites of any kind. The reason being that one of the most popular
  1356.     methods to corrupt your system was to create archives which would
  1357.     expand over your system files. THD ProScan will not allow this.
  1358.  
  1359. - Add loaders to the main archive.
  1360.     THD ProScan can (if configured) add loaders (insert files into
  1361.     an archive).
  1362.  
  1363. - Insert your file comment
  1364. - Insert a specific comment depending on the location of the file.
  1365.     THD ProScan can add file comments in a number of ways. It can be told to
  1366.     add a single comment to every file tested. OR it can select at random from
  1367.     list of such comments. OR it can insert a comment based on the file's
  1368.     location at the time of testing. The options are further explained in
  1369.     the "COMMENT" portion of this document.
  1370.  
  1371. - Configurable file specific text in file comments.
  1372.     Key words can be used in file comments to be replaced by file specific
  1373.     information. Please see the section on Configurable comments later in this
  1374.     documentation.
  1375.  
  1376.                                                                   Page 26
  1377.  
  1378. - Will use one of as many as three drives to test files by searching in
  1379.   order to find enough available space on one of them.
  1380.     THD ProScan will search up to three drives (as selected in THDINSTL) to
  1381.     find one which has enough free space to expand the archive to be tested.
  1382.     Testing will only be done if sufficient space is found.
  1383.  
  1384. - "Intelligent" installation which will attempt to do as much of the
  1385.   installation for you as is possible.
  1386.     The installation tries to find any file which it prompts for by name.
  1387.     If it finds a file by that name it will ask you if you want to use
  1388.     it and optionally allow you to insert the path to a different file.
  1389.     (in this way you are not limited as to the location of your utilities)
  1390.  
  1391. - Online help during the installation.
  1392. - Dos shell from the installation.
  1393.     While running THDINSTL, online help is available by pressing F1, a dos
  1394.     shell is available by pressing F2. and the installation can be aborted
  1395.     by pressing "CTRL-C".
  1396.  
  1397. - The configuration of THDPRO.EXE (from ver 6 or higher) can be used
  1398.   automatically.
  1399.     THDINSTL can import the configuration of any previous version of
  1400.     THDPRO.EXE (6.0 or later). You can then modify that configuration
  1401.     to suit your needs with this version.
  1402.  
  1403. - Will Virus scan all file types regardless of types configured.
  1404.     If THD ProScan is asked to test a non supported archive or a "normal"
  1405.     file, it will simply virus scan the file. In this respect it is
  1406.     a good idea to have all uploads tested by THD ProScan.
  1407.  
  1408. - Remove unwanted files from the archives tested (using name and/or CRC).
  1409.     Files can be removed from archives based on their name, their CRC
  1410.     or both. A more complete explanation is available under the heading
  1411.     "CRC MODE".
  1412.  
  1413. - Option to hang up on users who upload viruses. [DOS only]
  1414.     Sysops who are tired of users not virus scanning their software before
  1415.     upload may choose to drop carrier on those offenders.
  1416.  
  1417. - Option to reboot after a viral detection. [DOS only]
  1418.     You may also reboot after a viral detection. Although usually not
  1419.     necessary, It does make some people feel better.
  1420.  
  1421. - THD ProScan also supports a "fall back" to the original processing
  1422.     method. If an imbedded archive fails to expand for testing, THDPRO.EXE
  1423.     will fall back to the old method which extracts and tests each
  1424.     imbedded archive separately (thus requiring less space).
  1425.  
  1426. - No Known ways to "alter" the operation of your BBS through it's use.
  1427.     As stated this tester is designed with security in mind. I have done
  1428.     everything in my power to use the options best suited to that purpose.
  1429.  
  1430.                                                                   Page 27
  1431.  
  1432. - USE of THDEXARC.DAT file can allow use of additional scanners and archivers.
  1433.     This will allow you to run scanners not configured internally to
  1434.     THDPRO.EXE. as well as allowing you to test archive types not yet
  1435.     supported. This format should be used only by experienced sysops who
  1436.     FULLY understand the use of the archivers and scanners that they intend
  1437.     to configure. This utility will NOT run batch files.
  1438.  
  1439. - basic operation -
  1440. -------------------
  1441.  
  1442.     THD ProScan Version 12.0 has 3 distinct modes of operation. They are TEST
  1443. MODE, CRC MODE, CONVERT(-ONLY) MODE. Note also that conversion can be done on
  1444. the fly during testing, although this is currently only recommended for
  1445. persons running RA/TG/RG or FILES.BBS oriented BBS packages. (And only those
  1446. specific versions as listed below). Future versions and/or add-ons may add
  1447. the necessary functionality for other BBS'es to use this feature as well.
  1448. Each of the three modes is explained below.
  1449.     There is no way to change the "way" this scanner operates (without
  1450. hacking it) for a good reason. Even some of the most noted upload testers
  1451. make a very serious flaw in the way they handle uploaded archives. By not
  1452. allowing the user to change these settings, I avoid someone opening one of
  1453. those "all too evasive" back doors and hacking into your system. So please
  1454. don't ask me to change the parameters that this program uses. They are that
  1455. way for a reason. (I will of course be happy to change any that prove to be
  1456. incorrect or cause "real" problems).
  1457.  
  1458. - CRC mode -
  1459. ------------
  1460.  
  1461.                                  "CRC MODE"
  1462.                                  ----------
  1463.     THDPRO.EXE can also perform another function. THDPRO.EXE can also create
  1464. and/or update a CRC list (for use with the file removal function). The proper
  1465. syntax to invoke the CRC mode is...
  1466.  
  1467.          C:\UTILS\THDPRO.EXE CRC D:\WHATEVER\*.*
  1468.          {This would calculate the CRC values for all files in the
  1469.          directory "C:\WHATEVER" and add them to THDPRO.CRC. Wildcards are
  1470.          accepted in CRC mode only.}
  1471.  
  1472.     The use of CRC mode is intended specifically for use by those wishing to
  1473. remove files from archives based on the file's CRC value. In order to use
  1474. this ability, you must have chosen to use the CRC method of file removal
  1475. during the installation.
  1476.     To understand why you might choose to use CRC removal, you should
  1477. understand that a CRC is a calculation based on the "bytes" of a given file.
  1478. No matter what the file name is, the file will always have the same CRC.
  1479. (unless it is modified internally)
  1480.     You can use this to your advantage. If you constantly get files from a
  1481. BBS which always adds the same file to each of it's archives but has used
  1482. different names to avoid having them "easily" stripped. You can have these
  1483. files removed by using their CRC value rather than their name.
  1484.  
  1485.                                                                   Page 28
  1486.  
  1487.     For example, Rose Media in Toronto adds files called "READ.ME" to each of
  1488. it's archives. If that file exist, it is added as "READ-ME.". For obvious
  1489. reasons you might see why you wouldn't want to remove these files by
  1490. their name. By running "THDPRO.EXE CRC READ.ME" on those files, THD ProScan
  1491. will calculate the CRC of that file and add it to a list of CRC values
  1492. (THDPRO.CRC) and thereafter remove those files regardless of their name while
  1493. not risking the removal of legitimate "READ.ME" files.
  1494.     You must (of course) have a copy of the file for THD ProScan to be able
  1495. to calculate its CRC value. The format of the list created is outlined in
  1496. detail in the section regarding file formats, later in this document. The
  1497. THDPRO.CRC file is generated and updated by THD ProScan through use of CRC
  1498. mode and never need be dealt with manually. This option is not active by
  1499. default and must be selected via the installation.
  1500.  
  1501. - Conversion and Convert-Only mode -
  1502. ------------------------------------
  1503.  
  1504.     This version can convert from any of the supported archive types to
  1505. any of ARJ/LHA/RAR/SQZ/UC2/ZIP file formats. It can be used interactively
  1506. during testing OR as a standalone conversion utility.
  1507.     What makes this convertor better than every file convertor I have seen is
  1508. the simple ability to convert as well as THD ProScan tests. Quite simply,
  1509. this convertor will find archives that other convertors and testers simply
  1510. never see. In this respect it is the most complete archive convertor.
  1511. (*Note that some convertor with this ability may exist, but I have never seen
  1512. nor heard of it).
  1513.      This conversion mode offers special features to users of ...
  1514.  
  1515.     RemoteAccess 2.00 (or compatible)
  1516.     Telegard 2.7 (or compatible)
  1517.     Renegade 07-17-93 (or compatible)
  1518.     FILES.BBS (normal and SBBS extended format)
  1519.          -Note that compatible refers strictly to the file data base
  1520.          structures for each BBS type and that future versions of these
  1521.          BBS softwares are unlikely to remain compatible.
  1522.  
  1523.     Renegade and Telegard sysops might wonder why they should use this
  1524. convertor to convert their archives, since their BBS already has provisions
  1525. for file conversions. The answer is simple. Flexibility and full conversions.
  1526. This convertor offers a number of conversion levels (as well as the ability
  1527. to create protected archives) and does the most complete conversion possible.
  1528. This is something these two BBS packages are unlikely to offer in the near
  1529. future.
  1530.  
  1531.     The "/KO" switch (Keep Original) will only be useful for BBS types which
  1532. require the original archive to be present at the end of conversion. TG/RG
  1533. need this as they will attempt to delete the original after a conversion and
  1534. choke when it is not there. Other BBS'es or processes may require similar
  1535. measures.
  1536.  
  1537.                                                                   Page 29
  1538.     Conversion mode is invoked by use of a "convert indicator". These
  1539. indicators are as follows.
  1540.  
  1541.     TOARJ - TO CONVERT TO ARJ FORMAT
  1542.     TOLHA - TO CONVERT TO LHA FORMAT
  1543.     TORAR - TO CONVERT TO RAR FORMAT
  1544.     TOSQZ - TO CONVERT TO SQZ FORMAT
  1545.     TOUC2 - TO CONVERT TO UC2 FORMAT
  1546.     TOZIP - TO CONVERT TO ZIP FORMAT
  1547.  
  1548.     If any of these indicators are appended to THDPRO.EXE's command line,
  1549. then before a file comment is added, the file is converted to the type
  1550. specified. Conversion will of course only be done if the conversion type and
  1551. the original archive type are both configured in THDPRO.EXE for testing.
  1552.     These indicators "can" have a preceding "/" but it is not required
  1553. (ie. "/TOZIP" is the same as "TOZIP")
  1554.  
  1555.     To use this as a stand-alone convertor, you must first configure
  1556. THDPRO.EXE (using THDINSTL.EXE) and when invoking the convert line include
  1557. the switch "/CO". So the command lines would be as follows...
  1558.  
  1559.     THDPRO.EXE C:\TEST\TEST.ZIP TOARJ
  1560.          - this would test "TEST.ZIP" and thereafter convert it to an ARJ
  1561.            archive.
  1562.  
  1563.     THDPRO.EXE C:\TEST\TEST.ZIP /CO TOARJ
  1564.          - this would convert "TEST.ZIP" (without testing) to an ARJ archive.
  1565.  
  1566.     The convert indicators have a few variants. any of the convert indicators
  1567. is capable of converting on 5 different levels.
  1568.  
  1569.     The five levels of conversion are as follows..
  1570.  
  1571.     default (no changes to the indicator)
  1572.          - Using the default level files will be converted ONLY if they have
  1573.            the correct extension for their archive type (lzh for LHA etc).
  1574.  
  1575.     LEVEL 0 (add a "0" to the convert indicator { TOZIP0 })
  1576.          - will convert ONLY the main archive (no imbedded conversions).
  1577.  
  1578.     LEVEL 1 (add a "1" to the convert indicator { TOZIP1 })
  1579.          - will convert ONLY files which have the correct extension for their
  1580.            type AND are NOT the archive type to be converted to.
  1581.            This level will not repack a zip when converting to zip.
  1582.  
  1583.     LEVEL 2 (add a "2" to the convert indicator { TOZIP2 })
  1584.          - Will convert files if the have the correct extension OR the
  1585.            extension "EXE".
  1586.  
  1587.     LEVEL 3 (add a "3" to the convert indicator { TOZIP3 })
  1588.          - will convert any testable archive type regardless of it's extension
  1589.            or present archive type. This is also the ONLY level which will
  1590.            convert "AV" protected "ZIP" files or "secure" "ARJ" packets.
  1591.  
  1592.                                                                   Page 30
  1593.  
  1594.                               ** NOTE **
  1595.           "TOZIP3" would be used to convert all supported archive types
  1596.     to the ZIP format without regard for their extension, present archive
  1597.     type, or AV protection.
  1598.  
  1599.          "TOARJ2" would be used to convert any supported archive type with the
  1600.     proper extension or an extension of "EXE" to the ARJ format.
  1601.  
  1602.          "TOSQZ1" would be used to convert only archive types other than SQZ,
  1603.     and ONLY if they have the correct extension for their current archive
  1604.     type.
  1605.  
  1606.          "TOZIP0" would be used to convert only the main archive while leaving
  1607.     all imbedded archives in their original archive format (for compatibility
  1608.     with some installation programs which will require a specific format to
  1609.     install).
  1610.  
  1611.          "TOLHA" would be used to convert ALL supported archive types to LHA
  1612.     format only if they have the correct extension for their current type.
  1613.  
  1614.     The above switches apply in both test mode and Convert-Only mode.
  1615.                             ** end note **
  1616.  
  1617.     When run in Convert-Only mode (/CO) THD ProScan will still strip the
  1618. comment and add your proprietary comment. This is done to ensure that ansi
  1619. bombs are not loaded during the conversion (note that when THD uses the
  1620. window effect, ansi is not supported. However on some machines this window
  1621. may not be supported and the standard console, which does support ansi, will
  1622. be used). This feature could be used to replace comments only by using level1
  1623. and converting to the same archive type as the original (since no conversion
  1624. would actually take place).
  1625.     The conversion feature of THD ProScan will not cause THDPRO.EXE to exit
  1626. with a non-zero errorlevel (in test mode). If testing is passed and
  1627. conversion fails, the errorlevel returned will be "0".
  1628.     In Convert-Only mode, THDPRO.EXE will return "0" for a successful
  1629. conversion and "1" for an failed conversion.
  1630.  
  1631.     At the completion of a successful conversion, the original file is
  1632. deleted. IF you are running RemoteAccess 2.00 (or equivalent) and have
  1633. configured THDPRO.EXE to add file descriptions, then the name will be updated
  1634. in your FDB.
  1635.     THD ProScan can also update the names in the TG and RG and FILES.BBS
  1636. bases following a successful conversion. HOWEVER note that no name changes
  1637. will be done for TG/RG when the file is the result of a batch upload. It
  1638. cannot be done because the file name is not inserted into the BBS databases
  1639. until after a successful file test.
  1640.  
  1641.                                                                   Page 31
  1642.  
  1643.     If you are not running one of these BBS types then descriptions and
  1644. filenames will NOT be updated in your BBS program's data bases.
  1645.     It is therefore suggested that unless you are running one of these BBS
  1646. types DO NOT CONVERT DURING TEST MODE. Instead, use the Convert-Only mode
  1647. (after testing) to convert your files. (This does not apply if you are using
  1648. the convertor to repack archives of the same type.)
  1649.  
  1650.     As a side note, all conversions are done in maximum compression mode for
  1651. any archive types which support it.
  1652.  
  1653.     Sysops of the supported BBS types should convert during testing ONLY if
  1654. they have configured THD ProScan to acknowledge that they are indeed running
  1655. one of the supported BBS'es. These sysops can use the following command line.
  1656. (Note that this only applies where the filename will be in the base to be
  1657. modified. THD does not add new entries to any of the supported types.)
  1658.  
  1659.     THDPRO.EXE {drive:\path\filename.ext} {convert indicator}
  1660.  
  1661.     The following command line is recommended for BBS type's which support
  1662.     single stage conversions.
  1663.  
  1664.     THDPRO.EXE {drive:\path\filename.ext} /CO {convert indicator}
  1665.  
  1666.     For BBS programs which depend on 2 stage conversions, I suggest that
  1667. stage 1 run "THDPRO.EXE" with no parameters (this will return an errorlevel
  1668. of "0" allowing the program to move to the second stage). Then use the
  1669. command line above (for single stage conversions) for stage 2.
  1670.  
  1671. - Deep file removal during conversion -
  1672. ---------------------------------------
  1673.     During Conversions, THDPRO.EXE extends the removal of your configured
  1674. files to include all subdirectories and all imbedded archives. This feature
  1675. is not available in other modes because of the complexity of removing from
  1676. imbedded archives without needing to re-archive the original.
  1677.  
  1678. - Converting non-archives -
  1679. ---------------------------
  1680.  
  1681.     This option is only active in "test" mode (it is not a "true"
  1682. conversion).
  1683.     THDPRO.EXE can be configured to "envelope" (convert) unsupported file
  1684. types. By creating a file named ARCHIVE.THD in the same directory as
  1685. THDPRO.EXE, you can instruct THDPRO.EXE to archive unsupported types with
  1686. a particular file extension to a particular archive type.
  1687.  
  1688.     The format of this file is one entry per line. First line MUST be the
  1689. "type" to archive the file "in", and all following lines are the file
  1690. extensions that THD is to archive in this fashion.
  1691. the following would be an "example" of such a file.
  1692.  
  1693. -start of file-
  1694. ZIP
  1695. .TXT
  1696. .DOC
  1697. -end of file-
  1698.  
  1699.                                                                   Page 32
  1700.  
  1701.     ZIP = file "type" to convert to. (ARJ,LHA,RAR,SQZ,UC2,ZIP supported)
  1702.           only one such entry is allowed and it must be the first line
  1703.           of ARCHIVE.THD.
  1704.     .TXT
  1705.     .DOC = a list of file extensions to "envelope" in the archive type noted
  1706.            above. The extension MUST include the "." as an entry of just a
  1707.            "." would signify that files with no extension should also be
  1708.            enveloped. This list is one entry per line and all upper case.
  1709.  
  1710.     ALL INPUT IN ARCHIVE.THD MUST BE UPPERCASE.
  1711.  
  1712.     One final ability of "conversion mode" is the ability to create "AV"
  1713. packets with ARJ, PKZIP and RAR. (note that AV is being used as a general
  1714. term to reflect the various secure packet types of these archivers). If you
  1715. have a registered copy of one of these programs, you can opt to have
  1716. THD ProScan create these "protected" archives.
  1717.     This will be done through the use of environment variables.
  1718.  
  1719.     For "AV" protected ZIP archives you must set an environment variable of
  1720.  
  1721.     THDZIP=TRUE
  1722.     or
  1723.     THDZIP={drive:\path\to\your\AVEXTRA.TXT}
  1724.          This entry will be required if you wish the AVEXTRA.TXT information
  1725.          inserted into your finished archive.
  1726.  
  1727.     If THD ProScan finds this variable defined as above it will send the
  1728. command line to create an "AV" protected ZIP file (you must also configure
  1729. THD ProScan to use the registered version of PKZIP)
  1730.  
  1731.     For "AV" protected RAR archives you must set an environment variable of
  1732.  
  1733.     THDRAR=TRUE
  1734.  
  1735.     If THD ProScan finds this variable defined as above it will send the
  1736. command line to create an "AV" protected RAR file (you must also configure
  1737. THD ProScan to use the registered version of RAR.EXE)
  1738.  
  1739.     For "Secured" ARJ archives you must set an environment variable of
  1740.  
  1741.     THDARJ={drive:\path\to\your\security.key}
  1742.  
  1743.     DO NOT include ANY switches... JUST the path and filename of your
  1744. security key file. THDPRO.EXE will supply the necessary switches to use the
  1745. security key. Be sure to include the full drive path and filename in this
  1746. variable. (And THD ProScan must of course be using the registered ARJ).
  1747.  
  1748.                                                                   Page 33
  1749.  
  1750. - Test mode -
  1751. -------------
  1752.  
  1753.     The operation of the scanner could not be simpler. You need simply run
  1754. THDPRO.EXE while supplying it with the FULL path and filename of the file to
  1755. be tested. I STRONGLY suggest that you also supply the full path and filename
  1756. to THDPRO.EXE as well (not necessary but it too can help to reduce hacking).
  1757. So the proper syntax would be as follows...
  1758.  
  1759.     C:\UTILS\THDPRO.EXE D:\NEWUPS\TESTFILE.ZIP
  1760.     {Where THDPRO is located in "C:\UTILS" and the file to be tested
  1761.     is "TESTFILE.ZIP" which is located in "D:\NEWUPS"}
  1762.  
  1763.     The tester optionally accepts a comport # as a parameter. That parameter
  1764. can be a single digit between 0 and 8. This parameter is the number of the
  1765. comport to be used for remote output and is only necessary if you wish output
  1766. to a comport other than the one specified during the install. Using "0" will
  1767. not send any remote output. Numbers between 1 and 8 will send to the comport
  1768. of the corresponding number. If run without parameters, It will simply
  1769. display the correct syntax. ERRORLEVEL 0 will be returned in any event where
  1770. a file is not tested (to avoid the BBS software deleting files due to
  1771. improper syntax).
  1772.  
  1773.     While geared toward the testing of archived files, The tester will virus
  1774. scan any file type for which it is not configured. So having your BBS use
  1775. this tester to scan "EXE" and "COM" files is an excellent idea. (The addition
  1776. of "self extracting" testing makes this a good idea as well.) The passing or
  1777. failing of such files will be based solely on the result of the scan and no
  1778. other operations will be attempted on the file aside from the heuristic scan.
  1779. Any valid filename can be passed if you wish it to be "scanned". I suggest
  1780. that you configure your BBS to "test" all files with "executable" extensions
  1781. as well as any "OVL/OVR" files.
  1782.     IF your BBS allows it, testing of all uploaded files is recommended.
  1783.  
  1784.                                                                   Page 34
  1785.  
  1786.     This tester will exit with one of 10 DOS errorlevels.
  1787.     ERRORLEVEL 0   - All tests were passed satisfactorily.
  1788.                    - The scanner will also exit with this errorlevel under
  1789.                      a number of "odd" circumstances which will avoid having
  1790.                      a file fail due to some unforeseen difficulty.(This
  1791.                      includes failing to supply a proper path to the file to
  1792.                      be tested and a number of other small things)
  1793.     ERRORLEVEL 1   - An imbedded archive failed the CRC test.
  1794.                    - In Convert-Only mode this indicates a failure to convert.
  1795.     ERRORLEVEL 3   - The file has failed due to the date restriction.
  1796.     ERRORLEVEL 4   - The file was failed for being on the Hack list.
  1797.     ERRORLEVEL 5   - An imbedded archive failed the CRC test due to a disk
  1798.                      read error. (used by some BBS programs to determine if
  1799.                      the file is to be resumed later.)
  1800.     ERRORLEVEL 10  - A virus was detected during the "scan" (or optionally,
  1801.                      the heuristic scan).
  1802.     ERRORLEVEL 15  - The main archive failed the CRC test.
  1803.     ERRORLEVEL 103 - File access was denied for longer than 30 seconds
  1804.                      resulting in a premature abortion of testing. (Share
  1805.                      supported but not required.)
  1806.     ERRORLEVEL 233 - CRC testing was attempted on a nonexistent file (file
  1807.                      existed at start of testing and was deleted prior to
  1808.                      to the CRC calculation attempt - near impossible error)
  1809.     ERRORLEVEL 255 - A security breach. This error will occur any time a
  1810.                      needed executable file fails the CRC test prior to
  1811.                      execution. This will occur only with secure mode active.
  1812.  
  1813.     ** note - The sysop view is NOT identical to the user view and does not
  1814.     necessarily fully reflect what is seen on the user's side. It was deemed
  1815.     unnecessary to provide "complete" compliance with the user view, given
  1816.     the additional information available through the sysop view.
  1817.  
  1818. - Frequently asked Questions -
  1819. ------------------------------
  1820.  
  1821. Q.   How do I register this fine tester?
  1822. A.   Registration in the traditional sense is not required. However, if you
  1823.      really wish to do something for the author, The following is what I
  1824.      would like to see. Make the file FREE on your BBS (No Points/No Ratio).
  1825.      Make it FREQ'able if you are part of a net. If you are on a BBS that
  1826.      doesn't have it available, upload it there (ESPECIALLY foreign
  1827.      countries). If you have comments or suggestions, send them to me
  1828.      through Fidonet at 1:259/423 (attention David Muir). And above all,
  1829.      encourage people to use it.
  1830.  
  1831. Q.   Do You Accept Donations?
  1832. A.   Beginning with Version 8, Yes. Prior to this version, I have fought off
  1833.      the urge to ask for Donations. However, comments from many people
  1834.      have made me reconsider. People wishing to donate can send bank notes
  1835.      payable on a Canadian financial institution to...
  1836.      David Muir, 198 Leyton Ave, Scarborough, Ontario, Canada M1L 3V6
  1837.          Please note that any money sent will be considered a "GIFT" and
  1838.      is not "registration". THD ProScan remains free.
  1839.  
  1840.                                                                   Page 35
  1841.  
  1842. Q.   Why do all the files fail the SCAN?
  1843. A.   As noted in another area, SCAN.EXE by McAfee is becoming more and more
  1844.      memory intensive. As a result, persons who's BBS programs are not
  1845.      swapping their memory are finding that SCAN won't run effectively.
  1846.      If SCAN.EXE does not have sufficient memory to run, it returns an
  1847.      error. THD interprets an error from SCAN as a viral infection. To
  1848.      avoid this, either avoid using SCAN.EXE or make sure that your BBS
  1849.      (and any other resident programs) are leaving enough memory to run it.
  1850.      Usually having your BBS swap its memory, frees enough to run Scan.
  1851.  
  1852. Q.   THD ProScan runs fine locally but doesn't send any remote output, why?
  1853. A.   A common mistake for people is to not read the requirements of a given
  1854.      program. In this case the likely solution is to install the required
  1855.      Fossil driver and/or select the proper comport in the installation.
  1856.  
  1857. Q.   Can I stop THD from Moving/Renaming files?
  1858. A.   YES. From the final screen of THDINSTL, toggle the
  1859.      "Failed File Moving" to inactive. (In versions 6-9, THDINSTL accepted
  1860.      a parameter of "/NOMOVE" which is no longer supported).
  1861.  
  1862. Q.   Why are the version numbers always ".0"?
  1863. A.   I have decided to stick with whole numbers for each new release. The
  1864.      "." is reserved for use in patch files as was the case with version
  1865.      5.1. At least this way, when you see version 7 you will know that there
  1866.      have not been 100 "point" versions before it. Also each version number
  1867.      used is accounted for in the HISTORY.DOC, as are all the bugs found and
  1868.      fixed to date.
  1869.  
  1870. Q.   Can I change the options used by SCAN.EXE or the archivers?
  1871. A.   No. But you can add more scanners using THDEXARC.EXE. However THDPRO.EXE
  1872.      will still require that at least one of the internal scanners is
  1873.      configured. The command lines for these additional scanner can be user
  1874.      defined.
  1875.  
  1876. Q.   Why do I even need an upload tester?
  1877. A.   You don't... It is simply a convenient way to test files while the user
  1878.      is online. If you wish to test all files manually that is your option.
  1879.      If you wish to trust another tester, that too is your option. But if
  1880.      you are at all unsure as to the security offered by other testers, use
  1881.      this one. If you find a back door in my tester, tell me. I will fix it.
  1882.      If I can't, I will stop programming it.
  1883.  
  1884. Q.   What options DOES this tester use for the archives?
  1885. A.   Basically it uses those options required to recreate all subdirectory
  1886.      structures without allowing the use of the root directory. It does not
  1887.      allow any overwrites.
  1888.  
  1889.                                                                   Page 36
  1890. Q.   Why no overwrites?
  1891. A.   Many testers allow overwrites as a way to stop archivers from prompting
  1892.      the sysop, I simply create an environment where this will never occur.
  1893.      Allowing overwrites could let a virus get past the tester by having two
  1894.      files with the same name, My tester will expand both those files and
  1895.      test both those files, while some other testers will let the virus free
  1896.      file overwrite the infected file and lose the ability to detect the
  1897.      virus in the first one.
  1898.  
  1899. Q.   So no viruses get past this tester?
  1900. A.   No viruses that can be detected by your version of McAfee's Virusscan.
  1901.      Unknown viruses or viruses not yet detectable by your version of
  1902.      SCAN.EXE may still get by, but they are few and far between. Also in
  1903.      this version the heuristic testing can aid in detecting unknown
  1904.      viruses.
  1905.  
  1906. Q.   The Ansi screen takes too long. Can it be aborted?
  1907. A.   No. It is interactive and must complete in order for the indictors to
  1908.      make any sense. Users not wishing to see it could disable their own
  1909.      ansi, thus causing the ASCII output to occur.
  1910.  
  1911. Q.   Sometimes my users don't get the ansi screen. Why?
  1912. A.   The program allots a given amount of time to detect ansi on the remote
  1913.      system. If the remote does not respond in that time, it is assumed that
  1914.      they have no ansi capability. This detection time is configurable from
  1915.      within THDINSTL.EXE. Increase it if users are having this problem.
  1916.      BUT keep in mind that non-ansi users will be forced to wait for the
  1917.      duration of ansi detection and 255 seconds is just over 4 minutes.
  1918.      Keep the detection time reasonable. If you're absolutely adamant that
  1919.      all user should be sent ANSI output then see the ANSI option of THDOPT.
  1920.  
  1921. Q.   My multinode BBS can pass the NODE number but not the port number.
  1922.      How do I get THD ProScan to understand which "PORT" to use?
  1923. A.   The easiest way to do this is to run THDPRO.EXE from a batch file.
  1924.      Have your BBS pass the "NODE" to the batch file and then have the batch
  1925.      file call THDPRO.EXE with the appropriate PORT number for that node.
  1926.      The following example would work for a BBS with node 1 using com2 and
  1927.      node2 using com3.
  1928.  
  1929.      @echo off
  1930.      CTTY CON
  1931.      IF "%2"=="1" C:\THD\THDPRO.EXE %1 2
  1932.      IF "%2"=="2" C:\THD\THDPRO.EXE %1 3
  1933.  
  1934.                ^node number use comport^
  1935.  
  1936.  
  1937.                                                                   Page 37
  1938.  
  1939.                                ---------------
  1940.                                - THDPLUS.EXE -
  1941.                                ---------------
  1942.  
  1943. THDPLUS is a file data base update utility, supporting FILES.BBS (standard
  1944. and extended formats), RemoteAccess, Renegade, Telegard, PCBoard and T.A.G..
  1945. Specific versions only. It processes a record created by THD ProScan
  1946. Version 10.0 (or later) called TESTINFO.DAT.
  1947.  
  1948. - Supported softwares -
  1949. -----------------------
  1950. Telegard 2.7
  1951. Telegard 2.99 Gamma (TG3)
  1952. Renegade 07-17 (and compatible)
  1953. RemoteAccess 2.0?
  1954. RemoteAccess 2.5? (proposed)
  1955. PCBoard 15.2 (and compatible)
  1956. T.A.G. 2.7 (and compatible)
  1957. FILES.BBS standard 1 line descriptions
  1958. FILES.BBS extended description in the SBBS format " >"
  1959. FILES.BBS extended description in the "standard?" format " +"
  1960.  
  1961. "COMPATIBLE" refers to BBS'es which are 100% compatible in regards to their
  1962. file data base configuration and possibly in regards to their main
  1963. configuration file. Some deviation in the main configuration file may be
  1964. forgivable "if" the file data base is 100% compatible and IF the necessary
  1965. information required by THDPRO.EXE is located in the same EXACT position in
  1966. the main configuration file. If on doubt, assume that version other than
  1967. noted above are incompatible as I cannot even speculate what damage could
  1968. occur if BBS types other than above were configured as the incorrect BBS type.
  1969.  
  1970. - command line syntax -
  1971. -----------------------
  1972.  
  1973. - ? -
  1974.     Running "THDPLUS ?" Will show an identification screen and instruct the
  1975. user to run without parameters.
  1976.  
  1977. THDPLUS.EXE
  1978.     - process the last 5 entries normally (entries properly processed are
  1979.       marked as "processed" in TESTINFO.DAT).
  1980.  
  1981. THDPLUS.EXE /ALL
  1982.     - Process all entries normally (entries properly processed are
  1983.       marked as "processed" in TESTINFO.DAT).
  1984.  
  1985. THDPLUS.EXE /REMOVE
  1986.     - Process all entries normally, and mark all entries as "processed" in
  1987.       TESTINFO.DAT, regardless of success or failure to import.
  1988.  
  1989.  
  1990.                                                                   Page 38
  1991. THDPLUS.EXE /EXTRACT {source} {target}
  1992.     - Cause THDPLUS to search the TESTINFO.DAT file for {source} and
  1993.       extract its description to {target}. If {target} exists it will be
  1994.       overwritten. If no matching description for {source} is found,
  1995.       {target} will be erased (if it exists).
  1996.  
  1997. - Requirements -
  1998. ----------------
  1999.  
  2000.     TESTINFO.DAT must be located in the same directory as THDPLUS.EXE (which
  2001. is generally the case since THDPRO.EXE will create it in it's own directory
  2002. and it will only run THDPLUS if it too is that directory.)
  2003.  
  2004. - Operation -
  2005. -------------
  2006.  
  2007.     When THD imports a file into the TG file bases it will check the first
  2008. character in the description. If the first character is a letter or number,
  2009. THD will enter the description as "normal". If however the first character is
  2010. not a letter or number, THDPLUS will indent the first line by 5 spaces. The
  2011. hope is that descriptions which use "box" figures etc will be aligned by this
  2012. process (to preserve the "box" appearance).
  2013.     The exception is that the following characters are considered to be valid
  2014. "letters".
  2015.                                  ;:<>=?@
  2016.     The reason these symbols are counted as "letters", is simply due to their
  2017. place in the ASCII table (they occur between the valid numbers and letters).
  2018. Given that few descriptions are likely to begin with these characters (and
  2019. almost none that do would likely be representative of "box" figures), it was
  2020. simply easier to ignore them than to make exception for them.
  2021.  
  2022.     A "logic" is used to determine the lines for each of the fields in TG/RG
  2023. description which "could" on occasion backfire, resulting in inappropriate
  2024. looking descriptions. (I haven't run into any problems using the current
  2025. logic, but this logic was based only on examples I have available to me).
  2026.  
  2027.     The basic logic is that (for TG/RG) a file description containing CR/LF
  2028. will be considered to be a valid EndOfLine(EOL). Thus THDPLUS will strip any
  2029. CR/LF and end the line. If it does not encounter a CR/LF it will back up to
  2030. the nearest space character and end the line there. Where no space occurs in
  2031. the line, THDPLUS will split the line into 2 lines with the above conditions
  2032. (at 50 characters per line).
  2033.     THDPLUS can be run from the commandline to process unprocessed
  2034. TESTINFO.DAT files. TG/RG for instance should use this where "THDPRO DIZ" had
  2035. previously been recommended. As a side note, to maintain compatibility with
  2036. earlier versions, "THDPRO DIZ" will still function, but it will do so by
  2037. calling THDPLUS thus rendering it actually slower than simply running
  2038. THDPLUS.EXE.
  2039.     The only possible advantage to doing this is that THDPRO.EXE will verify
  2040. that it is running a PainSoft created version of THDPLUS where calling it from
  2041. a commandline does no such verification (in absence of a legitimate PainSoft
  2042. file THDPRO.EXE will do nothing more than show an opening screen and exit).
  2043.  
  2044.  
  2045.                                                                   Page 39
  2046.  
  2047. - TESTINFO.DAT -
  2048. ----------------
  2049.  
  2050. - What is it? -
  2051.  
  2052.     TESTINFO.DAT is a data file that will be created by THDPRO.EXE when
  2053. any BBS type (aside from "0") is selected during installation. The file
  2054. contains a multitude of information which can be used by third party
  2055. programmers who wish to interface THD with their own BBS. THDPLUS uses this
  2056. file to interact with the currently supported BBS types. The structures are
  2057. included in the archive for programmers who might wish to make use of it.
  2058.  
  2059. - Why is it? -
  2060.  
  2061.     The format was created for two reasons. First it offered an opportunity
  2062. for me to remove the description code from the actual THDPRO.EXE file
  2063. (resulting in lower overhead for those whose BBS'es not yet supported).
  2064.     Secondly it gives others a chance to interface THD with their BBS programs
  2065. via third party utils. The file is formatted so that these third party
  2066. utilities can get the information they need in a quick and efficient manner.
  2067.     By moving these these structures out of THDPRO.EXE it also allows me to
  2068. create specific interfaces for other BBS types without needing to update the
  2069. entire THD package.
  2070.  
  2071. - How does THDPRO use it? -
  2072.  
  2073.          THD ProScan uses it by creating the file during it's running time,
  2074. and calling THDPLUS to process the file. THDPRO.EXE performs the maintenance
  2075. (removing processed records and or deleting unneeded files), while THDPLUS
  2076. records in the file when it has been processed. Under all normal
  2077. circumstances, THDPRO.EXE will run, process and remove the file, prior to the
  2078. completion of the test.
  2079.     However with TG/RG where the file will not yet be present in the data
  2080. base, this file will be updated and left on the disk for processing on the
  2081. next run (or manually by running THDPLUS).
  2082.  
  2083. - How can others use it? -
  2084.  
  2085.     The format itself is designed with third party programmers in mind (THD
  2086. makes use of only a very few fields). The information recorded in this data
  2087. file can be accessed by third party programmers by having the user set his BBS
  2088. Type to "O" (Other) in the installation. THD will then process the record and
  2089. the third party utilities can extract the needed information from that record
  2090. and perform file base updates based on that information. (sounds confusing,
  2091. but programmers who look at the structures ought to be able to figure it out
  2092. <G>).
  2093.     The file is designed with programmers in mind and does not contain data in
  2094. any form useable by non-programmers.
  2095.  
  2096.  
  2097.                                                                   Page 40
  2098.  
  2099.                                ---------------
  2100.                                - THDTERM.EXE -
  2101.                                ---------------
  2102.  
  2103. - General Information -
  2104. -----------------------
  2105.  
  2106.     This is an excellent tool for sysops as well as users. For a sysop, it
  2107. will allow them to use THD ProScan Version 5+ with their fossil active
  2108. without attempting to send output over the modem. Thus making it the perfect
  2109. tool for a sysop or user to test his/her downloads.
  2110.     Compressing the executable is recommended for space purposes and has no
  2111. adverse affect on the operation. However, Note that it must be configured
  2112. before it is compressed and that it cannot be configured or reconfigured in
  2113. it's compressed state.
  2114.     For users in general it provides the same security that many sysops have
  2115. become accustomed to.
  2116.     Needless to say, THDPRO.EXE will need to be configured properly before
  2117. this program will be of any use.
  2118.     Reasons for failure are not reported by this program, but all such
  2119. instances should be accounted for in your THDPRO.LOG created by THD ProScan.
  2120.     With the exception of possible runtime errors, this program will ALWAYS
  2121. exit with errorlevel "0". The only indicators left by this program will be
  2122. the presence of the tested files in the Pass or fail directory. In keeping
  2123. with the tradition of THD ProScan, this program will NOT delete files for any
  2124. reason. Files are left for you to do with as you choose.
  2125.  
  2126.     This program was outwardly inspired by THDPRO TERMINAL EXTENSION. A
  2127. program created for the same basic purpose as this one.
  2128.  
  2129. - command line syntax -
  2130. -----------------------
  2131.  
  2132.     THDTERM accepts 3 parameters. Default is to run THDTERM with no
  2133.     parameters to process "as configured".
  2134.  
  2135.     - 0-8
  2136.          A single digit from 0 to 8 which represents the comport to which it
  2137.          should have THDPRO.EXE send it's output. the default is to use "0"
  2138.          which will cause THDPRO.EXE to run in local mode. A comport is always
  2139.          sent to THDPRO.EXE, even if none is supplied.
  2140.  
  2141.     - C (configure)
  2142.          If run as THDTERM.EXE /C, This will cause THDTERM to enter
  2143.          configuration mode. Configuration mode simply prompts you for 4
  2144.          things and configures the executable file to use those values from
  2145.          that point on. Configuration mode is the default the first time this
  2146.          program is run, and this switch should be used if you wish to
  2147.          reconfigure it at a later time.
  2148.  
  2149.                                                                   Page 41
  2150.  
  2151.     - /S (source directory)
  2152.          Running THDTERM.EXE /S {drive:\source\dir\to\test} will cause
  2153.          THDTERM to process the supplied directory instead of the internally
  2154.          configured directory. Also, when run with the "/S" parameter, moving
  2155.          of "passed" files is suppressed, and only those files which fail are
  2156.          moved (to the fail directory).
  2157.  
  2158. - Requirements -
  2159. ----------------
  2160.  
  2161.     THDTERM requires a configured copy of THDPRO.EXE and about 2k of memory
  2162. above that which will be required by THDPRO.EXE. As well, since it runs
  2163. THDPRO.EXE, it also requires the same things required by that program. If you
  2164. can run THDPRO.EXE normally and have an extra 2k of memory, then you have met
  2165. the requirements.
  2166.  
  2167. - Configuration -
  2168. -----------------
  2169.  
  2170.     The first time THDTERM.EXE is run it will automatically prompt you for 4
  2171. things. (no parameters need to be supplied on the first run)
  2172.     You will be prompted for the following...
  2173.  
  2174.     Path to THDPRO.EXE
  2175.     Path to the directory containing the files to be tested.
  2176.     Path to the directory for passed files.
  2177.     Path to the directory for failed files.
  2178.  
  2179.     ALL of these paths MUST exist prior to the configuration. As mentioned
  2180. above it can be reconfigured by running "THDTERM.EXE /C".
  2181.  
  2182. - Function -
  2183. ------------
  2184.  
  2185.     Functionally speaking THDTERM doesn't actually "do" a whole lot. It's
  2186. purpose is entirely single minded. It is designed to replace a simple dos
  2187. "for..in..do.." statement. Meaning that it runs THDPRO.EXE on each file in
  2188. the default directory (or alternately the supplied "source" directory).
  2189.     The advantage to using THDTERM is singular. It runs THDPRO.EXE on each
  2190. file, and moves it (in default mode) to either the pass or fail directory,
  2191. depending on whether it passes or fails testing by THDPRO.EXE.
  2192.     The singular advantage to this method is that it will never duplicate a
  2193. test as might be seen by a dos for..in..do.. statement and it provides a
  2194. little error checking prior to moving any files.
  2195.     Basically it is a glorified batch file.
  2196.  
  2197. - Features -
  2198. ------------
  2199.  
  2200.     None to speak of. It serves a very basic purpose in a very basic way.
  2201. This program should be used where you might like to use wildcards with
  2202. THDPRO.EXE but are unable to.
  2203.  
  2204.                                                                   Page 42
  2205.  
  2206. - Basic Operation -
  2207. -------------------
  2208.  
  2209.     Basic operation is achieved by configuring the program and running
  2210. THDTERM.EXE. This will cause it to run THDPRO.EXE on each file in the default
  2211. (or alternately the "source") directory. Files will be "moved" to the
  2212. directories internally configured depending on whether THDPRO.EXE passes or
  2213. fails them.
  2214.  
  2215. - THDTERM and Filedoor -
  2216. ------------------------
  2217.  
  2218.     THDTERM now accepts a comport as a parameter. As with THDPRO.EXE, the
  2219. comport must be the last parameter and must be a number between 0 and 8. If
  2220. supplied with a comport, THDTERM will tell THDPRO.EXE to use that comport
  2221. instead of "0" which it uses by default.
  2222.     This modification will allow Filedoor users to use THDTERM to run
  2223. THDPRO.EXE while still sending the remote output to the user. Those sysops
  2224. should have their exitafteruploads command as follows.
  2225.  
  2226.     ExitAfterUpload1 C:\THDPRO\THDTERM.EXE /S $U $P $M $N
  2227.  
  2228.     I also recommend that the "exitmask" not be defined and that THDPRO.EXE
  2229. be expected to test ALL uploads.
  2230.     Note... I do not use Filedoor myself and have based the above strictly on
  2231. the documentation for that program. Some modification may be necessary.
  2232.  
  2233.     Also note that, newer versions of filedoor may not work as described here
  2234. and may in fact be able to pass the filename as required by THDPRO.EXE.
  2235. Versions capable of passing the filename should use THDPRO.EXE for this
  2236. purpose and not THDTERM. Use THDTERM only in those instances where file names
  2237. cannot be supplied.
  2238.  
  2239.  
  2240.                                ---------------
  2241.                                - THDDEMO.COM -
  2242.                                ---------------
  2243.  
  2244. - Purpose -
  2245. -----------
  2246.  
  2247.     THDDEMO.COM serves two purposes. The first is to show you the user side 
  2248. view of what THDPRO.EXE does from the remote perspective. This can be
  2249. accomplished by running THDDEMO with no parameters. When run, it will
  2250. randomly choose and display one of three internal screens along with an
  2251. "emulation" of how that screen changes from the remote point of view during
  2252. an actual test.
  2253.     The second purpose is to give you a preview of what your custom ansi
  2254. screen will look like to the remote user. The makeup of custom screens is
  2255. discussed below in the section regarding THDPRO.AN? and PAINSOFT.AN? files.
  2256.  
  2257.                                                                   Page 43
  2258.     THDDEMO.COM can be used to preview your ansi with the THD test screen.
  2259. Use this to see if your ansi will be displayed correctly to the remote users.
  2260. Typing "THDDEMO.COM" will show you the "traditional" THD Ansi screen. Typing
  2261. "THDDEMO.COM" followed by the path to YOUR ansi file will show you what your
  2262. ansi will look like to the remote user.
  2263.     THDDEMO.COM is purposely crippled to not properly display ansi which
  2264. exceeds 70 characters per line. This is to ensure that your ansi will remain
  2265. compatible with the majority of user's systems. If your ansi looks fine
  2266. through the demo, it will almost definitely be fine on the remote end.
  2267.  
  2268.     THDDEMO accepts a filename to be displayed as a remote user would see it
  2269. during operation. If the file is "PAINSOFT.AN?" (where the ? is any
  2270. character), the file will be displayed as a PAINSOFT formatted file. Any
  2271. other filename will be displayed as a THDPRO file.
  2272.     The differences between the two formats are discussed in detail below.
  2273.     When testing a PAINSOFT formatted file, THDDEMO accepts /C as a parameter
  2274. (optionally) which allows you to view the various the colour settings of the
  2275. THD header portion of the output. This option is better explained in the
  2276. PAINSOFT files category below.
  2277.  
  2278.  
  2279. - ANSI files -
  2280. --------------
  2281.  
  2282.     THD ProScan has direct support for two types of sysop supplied ANSI.
  2283.     The first is an ANSI CORNER. An ansi-corner for the purposes of this
  2284. program will be considered a non-interactive ansi which will be displayed
  2285. during testing to the remote user in the upper left corner of his/her screen.
  2286. It can be 35 characters wide and 16 characters high.
  2287.     Files of this type will be named THDPRO.AN?, where the "?" represents a
  2288. number from 1 to 9.
  2289.  
  2290.     The second ANSI is a full screen interface. It may use the entire screen
  2291. EXCEPT for the top two lines which are reserved by THDPRO.EXE for self
  2292. identification purposes. This file is not a "true" ansi screen in that it
  2293. will contain an ansi image and a number of "interaction lines" to be sent as
  2294. required by THDPRO.EXE. These files will be called "PAINSOFT.AN?", where the
  2295. "?" represents a number from 1 to 9.
  2296.  
  2297.     First, you must understand that THDPRO.EXE will search for these files in
  2298. numerical order and as soon as one is not found, it will be assumed that no
  2299. higher numbers exist. That is to say that if THDPRO.AN1 does not exist,
  2300. THDPRO.EXE will NOT search for other THDPRO.AN? files. If it finds THDPRO.AN1
  2301. and THDPRO.AN2 but not THDPRO.AN3, it will stop searching and assume there
  2302. are only the two "THDPRO.AN?" files to choose from. It will then begin a
  2303. search for the "PAINSOFT.AN?" files using the same rules.
  2304.     Also, these "ANSI" files will ONLY be found IF they are located in the
  2305. same directory as THDPRO.EXE. (that is, the copy of THDPRO.EXE that is
  2306. actually performing the test). If they are not located in the same directory,
  2307. THDPRO.EXE will simply assume that they don't exist.
  2308.     These (up to 18) additional files will be displayed at random along with
  2309. the 3 original screens internal to THD ProScan.
  2310.  
  2311.                                                                   Page 44
  2312.  
  2313.     Ansi output (PAINSOFT.AN? and THDPRO.AN? files) should ALWAYS be tested
  2314. using THDDEMO.COM before being used. THDDEMO will show you EXACTLY what the
  2315. user will see and aid you in fine tuning your ansi files.
  2316.  
  2317.           SAMPLES OF BOTH OF THESE TYPES OF SCREENS ARE INCLUDED IN
  2318.                                "THDANSI.RAR"
  2319.  
  2320.  
  2321. - THDPRO.AN? files -
  2322.  
  2323.     Your THDPRO style custom ansi's can use the top/right corner (a box 35
  2324. characters wide by 16 high). That portion of the screen will be left
  2325. untouched when the test portion of the ansi is displayed immediately
  2326. following. The acceptable co-ordinates for your ansi are bound by position
  2327. "1,1" and "16,35". The rest of the display will be used by THDPRO.EXE.
  2328.     The ansi "line length" cannot exceed 70 characters per line, or they will
  2329. NOT be displayed. The total number of lines is not important.
  2330.     Note that the "Registered to BBSname" message is NOT displayed to the
  2331. remote when a user defined ansi is used. This is done to free up that space
  2332. for your use. You should keep that in mind when designing your ansi corners.
  2333.  
  2334. - PAINSOFT.AN? files -
  2335.  
  2336.     First a note. The use of PAINSOFT.AN? is a delicate and involved process.
  2337. If you do not understand the workings of ansi drawing (and the code itself) I
  2338. suggest you not even attempt to use this file. This file will be a "complete"
  2339. ansi test screen and NOT an ansi corner. It will contain a main body ansi
  2340. screen, followed by a number of "data" ansi lines that will be displayed as
  2341. discussed below. The format for a usable ansi of this format will follow the
  2342. following conventions.
  2343.     IT must not use the two top lines of the screen. These are reserved by
  2344. THDPRO.EXE and will be rewritten immediately following each section of ansi
  2345. from the user's file. In this way it will never be over written by the user's
  2346. ansi.
  2347.     The first "section" of the ansi file should contain the basic screen
  2348. image which is to be sent to the user BEFORE testing begins (Usually a screen
  2349. with blanks to be filled as testing proceeds).
  2350.     The second section will be marked by a line (immediately following the
  2351. "main" section) with only the text ENDANSI (IN CAPITAL LETTERS). This will
  2352. signal the next series of commands are for filling in the test prompts. The
  2353. next section will consist of 19 ansi strings each of which will indicate a
  2354. certain process occurring. An optional final line can define the foreground
  2355. and background colours of the THD identification header. in order, they are..
  2356.  
  2357.                                                                   Page 45
  2358.  
  2359.     indicator clearing line 1
  2360.     indicator clearing line 2
  2361.     the CRC test is starting
  2362.     the CRC test was passed
  2363.     the CRC test was failed
  2364.     the file is being expanded
  2365.     the file expanded okay
  2366.     the file did NOT expand okay
  2367.     the file is being virus scanned
  2368.     the file passed virus scanning
  2369.     the file failed virus scanning
  2370.     the work space is being cleared
  2371.     clearing of workspace is complete.
  2372.     expanding for conversion
  2373.     passed expansion for conversion
  2374.     failed expansion for conversion
  2375.     rearchiving for conversion
  2376.     passed rearchiving
  2377.     failed rearchiving
  2378.     foreground/background colour definition (optional)
  2379.  
  2380.  
  2381.     None of these strings may exceed 70 characters.
  2382.  
  2383.     The first two lines are for clearing the "indicators". If you are using
  2384. "blocks" or other characters to display the testing, they should be "reset"
  2385. or cleared before the testing of imbedded archives begins. These first two
  2386. lines are for that purpose. These two lines could also be used to erase
  2387. "text" and start again. They will be displayed immediately before the CRC
  2388. test begins. There is no need to "clear" any of the "Fail" indicators as the
  2389. testing would stop if any fail occurs. (with the possible exception of the
  2390. SCAN failure which can be skipped if THDPRO.EXE is configured to pass
  2391. heuristic failures). If you are not sure how to use them... leave them as
  2392. empty lines.
  2393.     The third string (The CRC test starting string) could also be used to
  2394. clear the "pass" indicators (if the 2 indicator clearing lines are not
  2395. enough). So they will be cleared as the testing of internal files begins.
  2396.     IF any of those strings is to be unused, a blank line MUST be entered in
  2397. it's place. Imbedded testing will use the same indicators as the main file
  2398. testing. So only one set of indicators will be required. (Unlike the internal
  2399. ansi and ansi corners discussed above which have separate main and embedded
  2400. indicators).
  2401.  
  2402.                                                                   Page 46
  2403.     The final configurable string is an optional colour configuration for the
  2404. THD identification header (shown at the top of the screen when using
  2405. PAINSOFT.AN? files). The format for this line is "EXACTLY"...
  2406.  
  2407.     FOREGROUND=# BACKGROUND=#
  2408.  
  2409.     where "#" - represents the colour number according to the following
  2410.  
  2411.     0 = black
  2412.     1 = red
  2413.     2 = green
  2414.     3 = yellow
  2415.     4 = blue
  2416.     5 = magenta
  2417.     6 = cyan
  2418.     7 = white
  2419.  
  2420.     0 (black) may be used as a background colour ONLY. Foreground colours will
  2421. always be high intensity and background colours will always be low intensity.
  2422. Both colours MUST be defined or the display will default to YELLOW on RED.
  2423. (foreground must be specified first).
  2424.     The "TESTING - FILENAME.EXT" will always be high intensity white in the
  2425. header.
  2426.     To "sample" the various headers available, THDDEMO now allows the use of
  2427. a parameter "/C". (This parameter must be "after" the filename on the command
  2428. line.) If this parameter follows the name of a PAINSOFT.AN? file it will
  2429. display the "main" ansi portion and sit. At this point you may scroll through
  2430. the various foreground and background colours by hitting either "F" or "B".
  2431. when you have decided on a combination that goes well with your main body
  2432. ansi, hit <ESC>. THDDEMO will then exit, clear the screen, and report the
  2433. foreground and background colours that were displayed just before you exited.
  2434.  
  2435.     ie. THDDEMO PAINSOFT.AN4 /C
  2436. would display the PAINSOFT.AN4 ansi file with the THD ID header, from there
  2437. press "F" or "B" to change the foreground and/or background colours until you
  2438. find a combination that you like. Hit esc and it will display the correct
  2439. "colour definition line" to insert in the file to achieve the colours that
  2440. you have selected. (Note that this only works with PAINSOFT files since the
  2441. THDPRO files do not display the ID header).
  2442.  
  2443. - PAINSOFT.ANS -
  2444.  
  2445.     PAINSOFT.ANS is a special case. If Found, PAINSOFT.ANS, will always be
  2446. used instead of ANY other ansi.
  2447.     Painsoft.ans follows the same creation and viewing guidelines as
  2448. described above for PAINSOFT.AN? files. You may use this file to force the
  2449. same output on every file test. While boring, I'm sure some of you will find
  2450. it useful.
  2451.     In English... If PAINSOFT.ANS exists in the same directory as THDPRO.EXE
  2452. then all random screen selection is bypassed and PAINSOFT.ANS is always sent
  2453. to the remote, regardless of the other ansi files present.
  2454.  
  2455.                                                                   Page 47
  2456.  
  2457.                                 ------------
  2458.                                 - COMMENTS -
  2459.                                 ------------
  2460.  
  2461.  
  2462. - THD ProScan's custom / configurable comment control -
  2463. -------------------------------------------------------
  2464.  
  2465.     THD ProScan offers what is likely the most configurable comment option 
  2466. available in any upload tester. In some cases, this configurability comes at
  2467. a cost. Some of the options are very complex to set up and understand.
  2468.     Notably commenting by area is not a simple task to set up for most
  2469. people. Random comments can be confusing. Keyword replacement however is
  2470. more or less relatively simple.
  2471.  
  2472. - Randomly selected comments -
  2473. ------------------------------
  2474.  
  2475.     THD ProScan can be configured to select a comment at random from a list
  2476. of comments. This option must be selected in THDINSTL and is not the default.
  2477.     These comment files may have any legal dos filename and are simply to be
  2478. arranged in a list format of one filename per line followed immediately by a
  2479. carriage return/line feed (hitting enter in most editors accomplishes this).
  2480.     Such a list might look like this...
  2481.  
  2482.               C:\HEADERS\RANDOM1.TXT
  2483.               C:\HEADERS\RANDOM2.TXT
  2484.               C:\HEADERS\RANDOM3.TXT
  2485.               C:\HEADERS\RANDOM4.TXT
  2486.               C:\HEADERS\RANDOM5.TXT
  2487.               C:\HEADERS\RANDOM6.TXT
  2488.               C:\HEADERS\RANDOM7.TXT
  2489.               C:\HEADERS\RANDOM8.TXT
  2490.               C:\HEADERS\RANDOM9.TXT
  2491.               C:\HEADERS\RANDOM10.TXT
  2492.  
  2493. - Comment by area -
  2494.  
  2495. - theory
  2496.  
  2497.     This "random" list can also be used to cause files in certain areas to be 
  2498. given a specific comment.
  2499.     This will be useful for persons who wish to emphasize certain aspects of
  2500. their BBS. You could for instance cause all files in your "programming" area
  2501. to be marked with a comment file that tells people about your "Programming"
  2502. conference and guidelines. Or perhaps you allow free download of BBS
  2503. utilities and want to insert a comment in those archives to let people know
  2504. that BBS Utilities are free on your BBS. Whatever your reason.
  2505.  
  2506.                                                                   Page 48
  2507.  
  2508. - setting it up
  2509.  
  2510.     The method is as follows.
  2511.  
  2512.     To cause THDPRO.EXE to insert a specific comment in a specific area, you
  2513. must select in THDINSTL to use a "list" of file comments. You must then
  2514. create that list. In our example the file will be called "COMMENT.LST".
  2515.      A "specific" comment line in this file will consist of...
  2516.  
  2517.     "IF" {QUALIFIER} {COMMENT}
  2518.  
  2519.     [note that the entire line must be capital letters]
  2520.  
  2521.     A "qualifier" is a string of text which will be looked for in the path to
  2522. the file being tested. It need not match the path exactly... But rather if
  2523. the "qualifier" is contained in the path then it will be considered a match.
  2524.     As an example. "C:" as qualifier would match every file in every
  2525. directory on drive "C". (Since the text "C:" would be found in the path to
  2526. any file on that drive). "C:\BBS" as a qualifier would match any file found
  2527. in the "C:\BBS" directory or any of it's subdirectories.
  2528.     And "C" as a qualifier would match EVERY path that has a "C" anywhere in
  2529. it.
  2530.  
  2531.     A random comment will only be used when a matching qualifier is not
  2532. found. To use ONLY random comments, simply make a list of headers with no
  2533. "IF" or {QUALIFIER}.
  2534.  
  2535.     Sample "COMMENT.LST" (using only specific area comments)
  2536.  
  2537.          IF   C:\BBS\DLS\PROGUTIL  C:\HEADERS\UTILHEAD.TXT
  2538.          IF   C:\BBS\DLS\BBSUTIL   C:\HEADERS\BBSHEAD.TXT
  2539.          IF   C:\BBS\NORATIO       C:\HEADER\FREE.TXT
  2540.          IF   C:                   C:\HEADERS\BBSAD.TXT
  2541.          IF   D:\MYUTILS           C:\HEADERS\MYHEAD.TXT
  2542.          IF   D:\SYSOP             C:\HEADERS\PERSONAL.TXT
  2543.  
  2544.     In the list above, the "IF"'s, qualifiers, and headers are separated in a
  2545. column arrangement so that you can better distinguish them. This is for your
  2546. benefit and is not required. They must be separated by at least a single
  2547. space (although a column arrangement as shown above will also be acceptable
  2548. as long as the entries are separated by "spaces", not by "tabs").
  2549.     The "IF" statements must ALL be before the random selection list.
  2550.     The lines without "IF" statements are comments which are to be chosen
  2551. from at random when there are no matching qualifiers.
  2552.  
  2553.     When looking for a comment, THDPRO.EXE will look for the FIRST matching
  2554. "qualifier" (that is the text following the "IF" statement above). In this
  2555. regard a "match" is any qualifier which can be found in the path of the file
  2556. being tested.
  2557.     If the qualifier is contained in the path to the file to be tested,
  2558. THDPRO.EXE will stop looking for a comment and use the first match.
  2559.  
  2560.                                                                   Page 49
  2561.  
  2562.     In the above example you will notice that "C:" (the qualifier for the
  2563. fourth line) is contained in each of the first four qualifiers. IF it were
  2564. put as the first line, then THDPRO.EXE would use "C:\HEADERS\BBSAD.TXT" for
  2565. every file on drive "C". Since "C:" would be found in any file in "C:\BBS".
  2566.     So in this respect you must make sure that the order in which you place
  2567. the qualifiers will not conflict with any later qualifiers. That is, a
  2568. qualifier must NEVER fully contain a qualifier which appears before it in the
  2569. list. (ie. "C:\BBS\TEST" must appear before "C:\BBS" in the list).
  2570.     IF THDPRO.EXE cannot find a matching qualifier it will chose at random a
  2571. comment from the entries appearing without "IF" statements.
  2572.     IF the comment chosen does not exist. THDPRO.EXE will insert the comment
  2573. from the very first line in the list (even if it has an "IF" statement). IF
  2574. the comment from the first line does not exist, no comment will be added.
  2575.     The list is considered complete if a blank line is found, so no blank
  2576. lines should be in the list. If there is a blank line in the list, all text
  2577. following the blank line will be ignored.
  2578.     The best "simple" method I can give for ensuring the correct order of
  2579. "IF" statements is to put them in alphabetical order from BOTTOM TO TOP.
  2580. (that is... in reverse alphabetical order). Many word processors can do this
  2581. for you quickly and easily. And remember that the "IF" statements go first
  2582. and the order of the random comments is unimportant except that they be after
  2583. ALL "IF" statements.
  2584.  
  2585.      GOOD LUCK.
  2586.  
  2587.  
  2588. - Keyword replacement / customization -
  2589. ---------------------------------------
  2590.  
  2591.     THD ProScan supports the use of some "key words" which it will search for 
  2592. inside of file comments and replace with certain values prior to using the 
  2593. comment. These keywords will be searched and replaced in all comments no 
  2594. matter by what means the comment is chosen.
  2595.  
  2596. - keywords -
  2597.  
  2598.     The list of valid keywords and their values is as follows
  2599.  
  2600.     %THDVER%  - The version of THD used. Format = "THD ProScan Version 12.0"
  2601.     %TIME%    - The Time (at which the comment is updated)
  2602.     %DATE%    - The Date (at which the comment is updated)
  2603.     %NEWDATE% - The date of the newest file in the archive.
  2604.     %OLDDATE% - The date of the oldest file in the archive.
  2605.     %NEWFILE% - The name of the newest file in the archive.
  2606.     %OLDFILE% - The name of the oldest file in the archive.
  2607.     %DESC%    - The description as used in the file bases update (if any)
  2608.     %IFDESC%  - Print this line ONLY if a description is used.
  2609.     %P_NAME%  - The Program name (according to Vendinfo.diz)
  2610.     %P_VER%   - The Program version (according to Vendinfo.diz/only numbers)
  2611.     %A_NAME%  - The Program's Author (according to Vendinfo.diz)
  2612.  
  2613.                                                                   Page 50
  2614.  
  2615.     The latter 3 options will only be translated IF a vendinfo.diz is found,
  2616. so they may safely be used in comments. However note, that if the information
  2617. is NOT found, the entire line will not be printed, so it would be best to
  2618. keep each of these entries on a separate line in any comment in which they
  2619. might be used.
  2620.  
  2621.     ie.
  2622.  
  2623.     %P_NAME% Version %P_VER% by %A_NAME%
  2624.          is acceptable (since none of these values would be translated in the
  2625.          absence of a Vendinfo.diz)
  2626.  
  2627.     Program Name  - %P_NAME%
  2628.     Version       - %P_VER%
  2629.     Author        - %A_NAME%
  2630.          Acceptable (all 3 lines would be removed if no Vendinfo.diz found)
  2631.  
  2632.     %P_NAME% test by %THDVER% on %DATE%
  2633.          would not be acceptable since the whole line would be removed if no
  2634.          vendinfo.diz were found (thus the date and THD Version would not be
  2635.          entered since this line would not be printed unless a vendinfo.diz
  2636.          were found.)
  2637.  
  2638.     It is imperative that no other information be entered on the same line as
  2639. %DESC%. This entry will not print the line on which this is entered. Instead
  2640. this line is replaced by the description to be used in the File base update
  2641. (this is for those who wanted FILE_ID.DIZ in the comment). The size of this
  2642. description, if it is taken from a vendinfo.diz file is selectable in
  2643. THDINSTL.EXE (otherwise the full description contained in a valid
  2644. description file is used).
  2645.     Lack of a description will result in no line at all (not even a blank
  2646. line).
  2647.  
  2648.     The "%IFDESC%" is to be used on a line that you only wish to be print IF
  2649. a description is present.
  2650.  
  2651.     reason being.. you might like to use something like this..
  2652.  
  2653.               Description
  2654.               -----------
  2655.     %DESC%
  2656.  
  2657.      Problem being that if no description is present the "Description" and
  2658. following underline would still be printed. To work around this it can be
  2659. entered in the comment file as ...
  2660.  
  2661.     %IFDESC%          Description
  2662.     %IFDESC%          -----------
  2663.     %DESC%
  2664.  
  2665.                                                                   Page 51
  2666.  
  2667.     which would only print the "Description" and "-----------" if a
  2668. description were present. (The position of %IFDESC%  on the line is not
  2669. important and it could just as easily be placed at the end of the line with
  2670. no difference in final output.)
  2671.  
  2672.     For the sake of demonstration, the following would give the exact same
  2673. result as above... (although for simplicity. I recommend putting it at the
  2674. beginning or end of the line)
  2675.  
  2676.               De%IFDESC%scription
  2677.               ------%IFDESC%-----
  2678.     %DESC%
  2679.  
  2680.  
  2681.     The following is a sample comment and what follows is how it would look
  2682. as an archive comment after processing by THD. (note in the following
  2683. examples I have used the 250 character description from the Vendinfo and not
  2684. the 450 character that would be used in most circumstances [or possibly
  2685. longer given some people's refusal to go by the standard]).
  2686.  
  2687.     Original comment file prior to processing...
  2688.     -------------------------------------------------
  2689.     | This file successfully passed testing by      |
  2690.     | %THDVER%                                      |
  2691.     | on %DATE% at %TIME%.                          |
  2692.     |                                               |
  2693.     | Program Name   - %P_NAME% Version %P_VER%     |
  2694.     | Author         - %A_NAME%                     |
  2695.     | %IFDESC%                                      |
  2696.     | %IFDESC%             *****************        |
  2697.     | %IFDESC%             ** Description **        |
  2698.     | %IFDESC%             *****************        |
  2699.     | %IFDESC%                                      |
  2700.     | %DESC%                                        |
  2701.     -------------------------------------------------
  2702.  
  2703.     ** After processing with no desc or vendinfo.diz...
  2704.     -------------------------------------------------
  2705.     | This file successfully passed testing by      |
  2706.     | THD ProScan Version 12.0                      |
  2707.     | on 06/05/1994 at 3:49PM.                      |
  2708.     |                                               |
  2709.     -------------------------------------------------
  2710.  
  2711.                                                                   Page 52
  2712.  
  2713.     ** After processing with desc but no vendinfo.diz...
  2714.     --------------------------------------------------
  2715.     | This file successfully pass testing by         |
  2716.     | THD ProScan Version 12.0                       |
  2717.     | on 06/05/1994 at 3:49PM.                       |
  2718.     |                                                |
  2719.     |                                                |
  2720.     |              *****************                 |
  2721.     |              ** Description **                 |
  2722.     |              *****************                 |
  2723.     |                                                |
  2724.     | THD ProScan Version 12.0 Archive Processor.    |
  2725.     | File base updates for FILES.BBS, RG, TG and RA |
  2726.     | formats. Multiple virus scans as well as many  |
  2727.     | configurable options. Allow user definable     |
  2728.     | conversions for supported archives.            |
  2729.     --------------------------------------------------
  2730.  
  2731.     ** After processing with vendinfo.diz (description is taken directly from
  2732.     vendinfo.diz)...
  2733.     --------------------------------------------------
  2734.     | This file successfully pass testing by         |
  2735.     | THD ProScan Version 12.0                       |
  2736.     | on 06/05/1994 at 3:49PM.                       |
  2737.     |                                                |
  2738.     | Program Name   - THD ProScan Version 12.0      |
  2739.     | Author         - David Muir                    |
  2740.     |                                                |
  2741.     |              *****************                 |
  2742.     |              ** Description **                 |
  2743.     |              *****************                 |
  2744.     |                                                |
  2745.     | THD ProScan Version 12.0 Archive Processor.    |
  2746.     | File base updates for FILES.BBS, RG, TG and RA |
  2747.     | formats. Multiple virus scans as well as many  |
  2748.     | configurable options. Allow user definable     |
  2749.     | conversions for supported archives.            |
  2750.     --------------------------------------------------
  2751.  
  2752.                                                                   Page 53
  2753.  
  2754.                           -------------------------
  2755.                           - Environment variables -
  2756.                           -------------------------
  2757.  
  2758.     THD ProScan supports five environment variables. They are...
  2759.           THDZIP - THDARJ - THDRAR - THDOPT - THDRUNLOG
  2760.  
  2761.     The first three environment variables are for use by persons who have
  2762. registered version of PKZip, ARJ or RAR. The latter of the variables can
  2763. alter a number of default actions of THDPRO.EXE.
  2764.  
  2765. - THDZIP -
  2766. ----------
  2767.  
  2768.     This variable accepts one of two settings. The first...
  2769.  
  2770.     SET THDZIP=TRUE
  2771.  
  2772.     This setting tells THDPRO.EXE that you are using a registered version of
  2773. PKZIP and would like to have the "AV" added when conversions to "ZIP" format
  2774. are performed.
  2775.  
  2776.     SET THDZIP={drive:\path\to\your\AVEXTRA.TXT}
  2777.  
  2778.     This setting tells THDPRO.EXE that you are using a registered version of
  2779. PKZIP and would like to have the "AV" and the AVEXTRA.TXT added when
  2780. conversion to "ZIP" format are performed. For information on AVEXTRA.TXT, you
  2781. should see your PKZIP users manual.
  2782.  
  2783. - THDRAR -
  2784. ----------
  2785.  
  2786.     This variable accepts one setting.
  2787.  
  2788.     SET THDRAR=TRUE
  2789.  
  2790.     This setting tells THDPRO.EXE that you are using a registered version of
  2791. RAR and would like to have the "AV" added when conversions to "RAR" format
  2792. are performed.
  2793.  
  2794. - THDARJ -
  2795. ----------
  2796.  
  2797.     This variable accepts only a single parameter.
  2798.  
  2799.     SET THDARJ={drive:\path\to\your\SECURITY.KEY}
  2800.  
  2801.     This setting tells THDPRO.EXE that you are using a registered version of
  2802. ARJ and would like to have the security envelope added when conversion to
  2803. "ARJ" format are performed.
  2804.     Do not put any switches in this variable as THDPRO.EXE will supply the
  2805. necessary switches.
  2806.  
  2807.                                                                   Page 54
  2808.  
  2809. - THDOPT -
  2810. ----------
  2811.  
  2812.     This variable is used to alter some default actions of THDPRO.EXE.
  2813.     The available options are as follows...
  2814.  
  2815.     THDOPT accepts five switches. "SOLID", "ANSI", "ADD", "NFL" and
  2816. "NDx" where the "x" represents a drive letter to be used for expansion and
  2817. testing of the file.
  2818.  
  2819.     SET THDOPT=SOLID will cause conversions to "RAR" format TO produce
  2820.                "solid" archives. (Uses the -s switch to create RAR archives).
  2821.  
  2822.     SET THDOPT=ANSI will force ansi to the remote.
  2823.  
  2824.     SET THDOPT=NDF will force THDPRO.EXE to attempt to use drive "F" for the
  2825.                file testing process before using the internally configured
  2826.                drive(s).
  2827.  
  2828.     SET THDOPT=NFL tells THDPRO.EXE to send the "/NOFLOPPY" switch to F-Prot.
  2829.                Use this ONLY if F-PROT requires the "NOFLOPPY" switch to run.
  2830.  
  2831.     SET THDOPT=ADD tells THDPRO.EXE to toggle the bit in the TESTINFO.DAT
  2832.                record which indicates that the user wishes to have database
  2833.                entries created when they do not already exist (not supported
  2834.                by THDPLUS).
  2835.  
  2836.     SET THDOPT=ANSI NDE SOLID ADD NFL
  2837.                Force ANSI output, use drive "E" for the temporary drive
  2838.                assignment, use the solid option when converting to RAR
  2839.                format, Set the "add" flag in TESTINFO.DAT and use the
  2840.                "/NOFLOPPY" switch with F-PROT.
  2841.  
  2842.     Note that only one alternate drive may be input using NDx. These
  2843. switches can be mixed and matched as necessary.
  2844.  
  2845.     Contrary to popular opinion, there is no support for a "THDPRO"
  2846. environment variable. The purpose for which many programs use a similar
  2847. environment variable is not required by THDPRO.EXE as it finds this
  2848. information based on other factors.
  2849.  
  2850. SET THDPRO=XXXX
  2851.          does absolutely nothing except waste your environment space.
  2852.          DO NOT SET THIS VARIABLE unless you have a use for it yourself.
  2853.          THD ProScan does not recognize it.
  2854.  
  2855. - THDRUNLOG -
  2856.     This option is used to generate a log file for use by the author in
  2857.     debugging particularly odd errors. There should be no reason for the
  2858.     average user to set this to any particular value unless instructed to
  2859.     do so by myself. Use of this variable will dramatically hamper
  2860.     performance. It is used as SET THDRUNLOG={path to runtime log file}.
  2861.  
  2862.                                                                   Page 55
  2863.  
  2864.                                ---------------
  2865.                                - Secure Mode -
  2866.                                ---------------
  2867.  
  2868.     The theory behind providing a "secure mode" is to offer some limited
  2869. protection against THDPRO.EXE inadvertently helping to spread viruses by
  2870. running infected utilities.
  2871.     THDPRO.EXE, when run in secure mode, will CRC check each executable file
  2872. prior to running it (including THDPRO.EXE itself, but this will of course be
  2873. checked after loading). If the file's CRC does not match the recorded value,
  2874. THDPRO.EXE will cease operation immediately following cleaning of any
  2875. temporary directories which it may have created. It will then exit with an
  2876. errorlevel of 255, indicating a security breach. In most cases this breach
  2877. will be logged in THDPRO.LOG.
  2878.     The exception to the above is THDPLUS.EXE. If THDPLUS.EXE fails the CRC
  2879. check, it will be logged and the utility will not be run. Since THDPLUS.EXE
  2880. is not essential to any "test" operations, it was deemed that aborting
  2881. testing due to it's CRC failure was unnecessary. Instead running of THDPLUS
  2882. is skipped and logged.
  2883.  
  2884.     **********************************************************************
  2885.     ** Please keep in mind that this method of "security" is not 100%   **
  2886.     ** effective. This is being supplied as an additional step to virus **
  2887.     ** scanning these utilities and not as a replacement for it. These  **
  2888.     ** utilities (as with all files) should be scanned for viruses and  **
  2889.     ** tested on a regular basis to ensure that the files are intact.   **
  2890.     **********************************************************************
  2891.  
  2892.     Secure mode is toggled from the final screen of THDINSTL. Once selected,
  2893. THDPRO.EXE will search for and evaluate the CRC's based on a file called
  2894. THDPRO.SEC. This file MUST exist in the same directory as THDPRO.EXE
  2895. (THDPRO.EXE will put it there). If the file does not exist THDPRO.EXE will
  2896. refuse to run (citing a security breach as the reason). Therefore you must
  2897. use THDPRO.EXE to generate the THDPRO.SEC file before it can be run in secure
  2898. mode.
  2899.  
  2900.     The disadvantage to secure mode is twofold. First it will refuse to run
  2901. every time you upgrade a virus scanner or other utility (since the CRC's will
  2902. not match). Secondly it takes time to calculate the CRC values.
  2903.  
  2904.     The first problem is easily solved by ensuring that you update your
  2905. THDPRO.SEC file any time you make changes (as outlined below) and/or updating
  2906. the THDEXARC file when changes are made. The second instance is a necessary
  2907. evil of the added security. The CRC values will be checked prior to each run
  2908. of a util (that is EVERY single time THDPRO.EXE is told to run an external
  2909. util, it will check the CRC first, even if it was run only moments before
  2910. and passed that CRC test).
  2911.  
  2912.  
  2913.                                                                   Page 56
  2914.  
  2915. - THDPRO.EXE /SEC -
  2916. -------------------
  2917.  
  2918.     To generate and/or update the THDPRO.SEC file (anytime a utility is
  2919. changed or THDINSTL is run), simply run THDPRO.EXE /SEC. This option will
  2920. cause THDPRO.EXE to perform it's "normal" self test and if that test is
  2921. passed, then it will create a THDPRO.SEC file using the configured
  2922. information.
  2923.     This option will perform no comparison to previously recorded values, so
  2924. if you have suffered a security breach and are unsure as to what caused it,
  2925. then do not run this until after running the security test outlined below.
  2926.      Also note that this command does NOT update the CRC's stored in the
  2927. THDEXARC.DAT file. IF the file failing the security test is one contained in
  2928. the THDEXARC.DAT file then you must run THDEXARC and "edit" the affected
  2929. utility. Upon saving the record, THDEXARC will update the CRC to match the
  2930. file(s) indicated in the archiver and/or unarchiver path(s).
  2931.  
  2932. - THDPRO.EXE /SECTEST -
  2933. -----------------------
  2934.  
  2935.     This option causes THDPRO.EXE to compare the current values in the
  2936. THDPRO.SEC and the CRC's recorded in the THDEXARC.DAT files files against the
  2937. CRC values of the files as they exist on disk. It will report only these
  2938. files whose CRC values are different from those recorded in the THDPRO.SEC
  2939. file. This operation causes no changes to the THDPRO.SEC file, and should be
  2940. used to see which utility or utilities THDPRO.EXE believes have changed.
  2941. Failures will be reported as being "in breach of security". If no file names
  2942. are listed as being in breach of security, then the THDPRO.SEC file is
  2943. usable "as is".
  2944.     An ideal test will report that it is checking and that it is done with
  2945. nothing in between.
  2946.  
  2947.     In addition to the utilities, the THDPRO.SEC file is also CRC checked by
  2948. the above procedure as well as at run time by THDPRO.EXE. A change in that
  2949. file's CRC is considered to be a security breach just as any utility change
  2950. would be.
  2951.  
  2952.     Upon exit from THDINSTL, if secure mode is selected, the user will be
  2953. reminded to run THDPRO.EXE /SEC to update the THDPRO.SEC listing, since in
  2954. almost all cases THDINSTL will change the CRC value of THDPRO.EXE, thus
  2955. rendering the THDPRO.SEC value invalid which will result in a security breach
  2956. each time THDPRO.EXE is run.
  2957.  
  2958.  
  2959.                                                                   Page 57
  2960.  
  2961.                               -----------------
  2962.                               - NETWORK NOTES -
  2963.                               -----------------
  2964.      First... You must be aware that while "some" people have no difficulty
  2965. running THD under a network as a regular DOS application, others have little
  2966. or no success.
  2967.      My beta tester's and I are doing our best to resolve this problem in as
  2968. many instances as possible (at this point one of my beta testers is in fact
  2969. unable to run the program under his network and joined the team specifically
  2970. to find the solution).
  2971.      So "first" try to install THD as a standard DOS application without any
  2972. special considerations. If that doesn't work. Then try the following...
  2973. In any case you should read this to see if there are any things you might
  2974. need to consider.
  2975.  
  2976. ... RENAME THDINSTL.EXE TO NETINSTL.EXE.
  2977.        Alternately, you could also run THDINSTL.EXE /NET which has exactly
  2978. the same effect as renaming the file. However, for ease of use (odds are
  2979. good that you will only ever wish to run in NET mode), you will likely find
  2980. it easier to rename the installation file than to remember to constantly
  2981. supply the "/NET" parameter, although either method will work.
  2982.        This will tell THDINSTL that you are attempting installation on a
  2983. networked system. This will simplify the installation by NOT putting drive
  2984. letters in front of the paths to the utilities that it finds. It will also
  2985. not prompt you for the "temporary" drive assignments and instead default to
  2986. "network compatible mode" which uses only the current drive for file testing.
  2987.      In this and all documentation, THDINSTL refers to the file as
  2988. distributed. If renamed to NETINSTL.EXE, all references are still valid
  2989. except as noted above.
  2990.     While THD ProScan is not "network aware", it can be run in a network
  2991. environment with some considerations.
  2992.     An important consideration is that THDPRO.EXE under many networks
  2993. will not have write access to the root directory. Therefore is you install
  2994. THD ProScan using network mode, you MUST create a directory called "\THDWORK"
  2995. off of the root directory on same drive on which THDPRO.EXE is to reside.
  2996. THDPRO.EXE will then treat this directory in precisely the same manner it
  2997. treats the root directory in a non-networked environment. If this directory
  2998. does not exist THDPRO.EXE will exit without any action if network mode is
  2999. active.
  3000.        Another important consideration, is that THD ProScan makes
  3001. extensive use of "drive" letters in it's normal operation. On a network
  3002. system, these drive letters are reassigned depending on the remote caller.
  3003. The sysop must therefore take into account that these drive letters might be
  3004. different from one remote to the next and account for this when running
  3005. THDINSTL.EXE.
  3006.     When running THDINSTL, be sure not to specific a drive whenever the
  3007. installation will allow you to supply simply a file path (in other works
  3008. supply things like "\utils\pkzip.exe" instead of "c:\utils\pkzip.exe"). In
  3009. order to do this, THDINSTL must be run on the same drive as all of it's files
  3010. are located.
  3011.  
  3012.                                                                   Page 58
  3013.  
  3014.     It is important to note that THDPRO.EXE will still assign all of these
  3015. paths with drive letters. But this will be done at run time with the current
  3016. drive letter in a case where one was not supplied during installation. If the
  3017. current drive is "C:" when THDPRO.EXE is invoked then a path entered in the
  3018. install as "\UTIL\PKZIP.EXE" will actually be called as "C:\UTIL\PKZIP.EXE".
  3019. Likewise if the current drive were "T:" at run time THDPRO.EXE would run
  3020. "T:\UTIL\PKZIP.EXE". At no time would THDPRO.EXE attempt to run simply
  3021. "\UTIL\PKZIP.EXE"
  3022.  
  3023.     It is therefore recommended that network users have THDPRO.EXE and all
  3024. the necessary files located on the same logical drive as all the files to be
  3025. tested and all of the utils to be used. In other words on a one drive system.
  3026.     When THDINSTL prompts for the use of drives to use for testing, you
  3027. should enter "0" to tell THD that you wish it to use only it's current
  3028. drive for file tests. Technically what this does is to tell THD that all
  3029. temporary drives are the same drive and that drive is the drive on which
  3030. the system was running when THDPRO.EXE was called. This option will solve
  3031. the majority of network problems suffered by some users who could not get
  3032. THD working properly for them previously.
  3033.  
  3034.     Note that once configured, THDPRO.EXE could be moved to another drive and
  3035. would work if called correctly, since it determines it's own location at
  3036. runtime.
  3037.     This is not a "requirement" as such. Certainly some network users can get
  3038. it working for them without this consideration. This should be used by those
  3039. who either find it easier than the method they used previously or who are
  3040. having difficulty getting it to run correctly under a network environment.
  3041.  
  3042.     The THDOPT "NDx" environment variable can also be useful for network
  3043. users. If the remote system can define environment variables under your
  3044. particular network, you could have them set this particular variable to their
  3045. drive assignment (see the section on environment variables) and thereby cause
  3046. testing to occur on the correct drive from their point of view.
  3047.  
  3048.     At least one Novell user has stated the need for "SHOWDOTS=TRUE" in his
  3049. configuration file. The symptom was that THD failed to remove it's temporary
  3050. directory when this was not present.
  3051.  
  3052.     The THDOPT=NFL may be required on systems without floppy drives when
  3053. running F-PROT.EXE. Use this only if you have no floppies connected to the
  3054. system and F-PROT suggests that it be used.
  3055.  
  3056.     Note that while I do my best to make THD as compliant with as many systems
  3057. as I possibly can, my knowledge of network software and how it works is nearly
  3058. non-existent. So if you have suggestions or other things in this matter that I
  3059. might consider, please feel free to let me know about them.
  3060.       Again, if you select the "network mode" during THDINSTL, you should be
  3061. certain that you have not supplied drive letters to the utilities to be used
  3062. and that all such utilities are located on the same drive that THDPRO.EXE will
  3063. be called from. Failure to locate "all" files on the single drive will likely
  3064. cause THDPRO.EXE to react in an unreliable manner when unable to locate the
  3065. needed files on the current drive.
  3066.